gpt4 book ai didi

python - sqlite 不自动递增

转载 作者:行者123 更新时间:2023-11-29 10:51:03 24 4
gpt4 key购买 nike

当我使用以下命令在 SQLite3 中创建表时,它不会自动递增 ID,也不会使 USERNAME 成为主键,因为我可以使用相同的 USERNAME 输入多个用户,并且它会毫无问题地输入它们。

命令:

CREATE TABLE 'users' (
'id' INTEGER AUTO INCREMENT,
'username' TEXT NOT NULL,
'hash' TEXT,
PRIMARY KEY ('id', 'username')
);

这是控制台的输出,显示它正在做什么,您可以告诉它让我输入用户名 cat 两次,并且没有根据自动增量为 id 分配值:

sqlite> CREATE TABLE 'users' ('id' INTEGER AUTO INCREMENT, 'username' TEXT NOT NULL, 'hash' TEXT, PRIMARY KEY ('id', 'username'));

sqlite> insert into users (username, hash) values ('cat', 'dog2');

sqlite> insert into users (username, hash) values ('cat', 'dog2');

sqlite> select * from users;
id username hash
---------- ---------- ----------

cat dog2
cat dog2

最佳答案

这是自动增量,而不是自动增量。另外,如果 SQLite 表中的字段具有 AUTOINCRMENT 属性,则它也应该是 PRIMARY KEY

CREATE TABLE 'users' (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, hash TEXT);

您不能将具有 AUTOINCRMENT 属性的字段用作复合键的一部分。

关于python - sqlite 不自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com