-- 创建一个包含自动递增列的示例表
CREATE TABLE users (
user_id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT
);
-- 插入数据,user_id将自动递增
INSERT INTO users (username) VALUES ('Alice');
INSERT INTO users (username) VALUES ('Bob');
在上面的例子中,user_id列被指定为主键,并使用AUTOINCREMENT关键字。这意味着每次插入新记录时,user_id都会自动递增,确保其具有唯一的值。
需要注意的是,SQLite中的AUTOINCREMENT关键字在实际使用时要谨慎。它可能导致性能问题,因为SQLite需要锁定整个表来保证递增值的唯一性。在大多数情况下,使用普通的整数主键,而不是AUTOINCREMENT,也能够满足需求,并且更加高效。
如果您只需要一个唯一的递增值而不需要主键,您也可以使用INTEGER PRIMARY KEY,而不带有AUTOINCREMENT:
CREATE TABLE users (
user_id INTEGER PRIMARY KEY,
username TEXT
);
在这种情况下,SQLite会自动为user_id分配唯一的递增值,但这种方式允许SQLite自由选择生成递增值的方法,而不一定要使用锁定整个表的方式。
转载请注明出处:http://www.pingtaimeng.com/article/detail/9174/SQLite