在 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' 列的值。

SQLite 自动递增整数列 - 无需 AUTOINCREMENT

原文地址: https://www.cveoy.top/t/topic/lB33 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录