sqlite自定义自增主键
时间: 2023-08-19 19:04:54 浏览: 133
sqlite设置表主键1
SQLite 默认使用 INTEGER PRIMARY KEY AUTOINCREMENT 作为自增主键,但也可以自定义自增主键。以下是一个示例,使用一个名为"my_id"的列作为自定义自增主键:
```sql
CREATE TABLE my_table (
my_id INTEGER NOT NULL,
name TEXT,
PRIMARY KEY(my_id)
);
CREATE TRIGGER my_table_trigger
BEFORE INSERT ON my_table
BEGIN
SELECT coalesce(max(my_id), 0) + 1 FROM my_table INTO new.my_id;
END;
```
这个示例中,我们创建了一个名为my_table的表,其中包含一个my_id列和一个name列。我们将my_id列设置为主键,并在插入新行之前使用触发器为其生成一个自增值。触发器使用 coalesce 函数来确保即使表中没有行,也会为新插入的行生成一个自增值。
阅读全文