SQLite 自动递增整数列 - 无需 AUTOINCREMENT
在 SQLite 中,即使不使用 'AUTOINCREMENT' 关键字,整数列也可以自动递增。SQLite 使用一个名为 'ROWID' 的隐藏列来存储表中的行标识符。
当在表中定义一个整数列并且没有指定 'AUTOINCREMENT' 关键字时,如果在插入新行时不提供该列的值,SQLite 会自动为该列分配一个唯一的递增整数值。
以下是一个示例:
CREATE TABLE mytable (
id INTEGER PRIMARY KEY,
name TEXT
);
INSERT INTO mytable (name) VALUES ('John');
INSERT INTO mytable (name) VALUES ('Jane');
INSERT INTO mytable (name) VALUES ('Mike');
SELECT * FROM mytable;
输出结果:
id | name
---|------
1 | John
2 | Jane
3 | Mike
在上面的示例中,我们没有为 'id' 列指定任何值,但 SQLite 会自动为每个插入的行分配一个唯一的递增整数值作为 'id' 列的值。
原文地址: https://www.cveoy.top/t/topic/lB33 著作权归作者所有。请勿转载和采集!