[英]Flutter Insert data into the database sqflite
我需要一次insert
一个data
并将其添加到string
的末尾,但发生的是我正在做的事情是覆盖data
for (var i = 0; i< isChecked.length; i++) {
receipt.ingredientsReceipt = isChecked[i]; //receipt is table name, ingredientsReceipt is column name
print(isChecked[i]);// isChecked is my list containing [ING 1, ING 2, ING 3]
}
Output:
I/flutter ( 5360): ING 1
I/flutter ( 5360): ING 2
I/flutter ( 5360): ING 3
这是我的SQL
:
CREATE TABLE receipt(id INTEGER PRIMARY KEY AUTOINCREMENT, nameReceipt TEXT, descReceipt TEXT, ingredientsReceipt TEXT)
Output SQL
:
{id: null, nameReceipt: TEST, descReceipt: TEST, ingredientsReceipt: ING 3}
我需要它是这样的:
{id: 1, nameReceipt: TEST, descReceipt: TEST, ingredientsReceipt: ING 1, ING 2, ING 3}
根据我的评论,使用 3 个表:
收据
ID | 姓名收据 | 描述收据 |
---|---|---|
1 | 名称1 | 描述1 |
2 | 名称2 | 描述2 |
配料
ID | 姓名 |
---|---|
1 | ingr1 |
2 | ingr2 |
3 | ingr3 |
4 | ingr4 |
RECEIPT_INGREDIENT
ID | 收据_fk | 成分_fk |
---|---|---|
1 | 1 | 1 |
2 | 1 | 2 |
3 | 1 | 3 |
4 | 2 | 3 |
5 | 2 | 4 |
因此,当您想获得收据时,您必须从收据中向 select 数据写入查询,加入receipt_ingredient(其中receipt.id =receipt_ingredient.receipt_fk),加入成分(其中receipt_ingredient.ingredeint_fk = 成分.id) .
前任。 获取收据 id = 1 =>
ID | 姓名收据 | 描述收据 | 收据_fk | 成分_fk | 姓名 |
---|---|---|---|---|---|
1 | 名称1 | 描述1 | 1 | 1 | ingr1 |
1 | 名称1 | 描述1 | 1 | 2 | ingr2 |
1 | 名称1 | 描述1 | 1 | 3 | ingr3 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.