Flutter DatabaseException(唯一约束失败)
Flutter DatabaseException(UNIQUE constraint failed)
我正在尝试将一些数据插入到 sqflite table 但在执行插入查询时出现错误
await db.execute(
'CREATE TABLE $catrgoryTable($category_id INTEGER PRIMARY KEY UNIQUE , $colDeviceTypeId INTEGER, '
'$room_id INTEGER)');
print('category created!');
这是错误
SqfliteDatabaseException (DatabaseException(UNIQUE constraint failed: category_Table.category_id (code 1555)) sql 'INSERT INTO category_Table (category_id, device_type_id, room_id) VALUES (?, ?, ?)' args [1, 1, 1]})
感谢您的帮助:)
table category_Table
上有一个唯一约束字段,错误显示您试图为 category_id
输入一个已经存在的值,这违反了主键的唯一性该字段的约束。给定的 ID 值只能存在一行。因此,如果您尝试插入一行,请确保您的 category_id
具有唯一值,或者如果您不关心自己生成 ID,则可以将 AUTOINCREMENT
设置添加到您的 category_id
列定义。这样它会自动填充,每一行都有自己唯一的值。
static Future<void> insert(String table, Map<String, dynamic> data) async {
final db = await DBHelper.database();
db.insert(table, data, conflictAlgorithm: sql.ConflictAlgorithm.replace);
}
这是我的代码,如果我使用冲突算法替换它会替换那个唯一值吗?
在数据库的插入函数中。添加
conflictAlgorithm: ConflictAlgorithm.replace.
对我有用
我正在尝试将一些数据插入到 sqflite table 但在执行插入查询时出现错误
await db.execute(
'CREATE TABLE $catrgoryTable($category_id INTEGER PRIMARY KEY UNIQUE , $colDeviceTypeId INTEGER, '
'$room_id INTEGER)');
print('category created!');
这是错误
SqfliteDatabaseException (DatabaseException(UNIQUE constraint failed: category_Table.category_id (code 1555)) sql 'INSERT INTO category_Table (category_id, device_type_id, room_id) VALUES (?, ?, ?)' args [1, 1, 1]})
感谢您的帮助:)
table category_Table
上有一个唯一约束字段,错误显示您试图为 category_id
输入一个已经存在的值,这违反了主键的唯一性该字段的约束。给定的 ID 值只能存在一行。因此,如果您尝试插入一行,请确保您的 category_id
具有唯一值,或者如果您不关心自己生成 ID,则可以将 AUTOINCREMENT
设置添加到您的 category_id
列定义。这样它会自动填充,每一行都有自己唯一的值。
static Future<void> insert(String table, Map<String, dynamic> data) async {
final db = await DBHelper.database();
db.insert(table, data, conflictAlgorithm: sql.ConflictAlgorithm.replace);
}
这是我的代码,如果我使用冲突算法替换它会替换那个唯一值吗?
在数据库的插入函数中。添加
conflictAlgorithm: ConflictAlgorithm.replace.
对我有用