Flutter DatabaseException(唯一约束失败)

Elh*_*arz 0 dart flutter sqflite

我正在尝试将一些数据插入到 sqflite 表中,但在执行插入查询时出错

await db.execute(
      'CREATE TABLE $catrgoryTable($category_id INTEGER PRIMARY KEY UNIQUE  , $colDeviceTypeId INTEGER, '
                '$room_id INTEGER)');
        print('category created!');
Run Code Online (Sandbox Code Playgroud)

这是错误

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]})
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助:)

Mou*_*abr 5

该表上category_Table有一个唯一约束字段,错误表明您尝试输入category_id它已经存在的值,这违反了该字段的主键唯一性约束。给定的 ID 值只能存在一行。因此,如果您尝试插入一行,请确保您category_id具有唯一值,或者如果您不关心自己生成 id,您可以将AUTOINCREMENT设置添加到您的category_id列定义中。这样它会自动填充,每一行都有自己的唯一值。