【发布时间】:2022-01-13 12:58:34
【问题描述】:
我创建了一个主键为 INTEGER 的表,但没有将其指定为自动增量。 尽管如此,当我向数据库添加新行时,它会自动增加主键。我错过了什么吗?如果不是,我们如何使主键不自动递增?
我正在使用 SQLite 数据库
代码:
CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT);
INSERT INTO test (name) VALUES ('John');
INSERT INTO test (name) VALUES ('Mary');
将 John id 设为 1,Mary id 设为 2,即它会自动递增而不为 id 指定它
【问题讨论】:
-
这取决于您使用的数据库类型...问题中缺少的信息。
-
@Joel Coehoorn 谢谢,请查看编辑
-
请阅读SQLite autoincrement,然后重新测试您的代码!
-
@Luuk 好的,除了明显的,其他地方都很好。谢谢
-
我猜现在你已经得到了你需要的答案:将列定义为
INT而不是INTEGER。