【发布时间】:2021-07-09 11:29:30
【问题描述】:
我需要一次一个 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]
}
输出:
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)
输出SQL:
{id: null, nameReceipt: TEST, descReceipt: TEST, ingredientsReceipt: ING 3}
我需要它是这样的:
{id: 1, nameReceipt: TEST, descReceipt: TEST, ingredientsReceipt: ING 1, ING 2, ING 3}
【问题讨论】:
-
您应该使用 3 个表重新设计数据库架构:
receipts、ingredients和receipt_ingredient。最后一个会将收据链接到几种成分(2 列:receipt_fk 和成分_fk),因此对于 1 个收据,您将拥有成分的所有 ID。这比连接列表要好。 -
你能给我举个例子吗?