【发布时间】:2021-07-04 15:58:57
【问题描述】:
我想知道为什么我们在 sql 中使用 PRIMARY_KEY_AUTO_INCREMENT 而不仅仅是 AUTO_INCREMENT 作为表中的 id。如果我们只是将id的数据类型设置为AUTO_INCREMENT,是不是会自动递增,从而每次生成一个unique id?因此,在顶部设置PRIMARY_KEY(唯一标识表中的每个项目)有什么意义?
谢谢!!
【问题讨论】:
-
您使用的是哪个 dbms?这是产品特定的功能。
-
他们做不同的事情。
auto_increment定义如何计算列的默认值。primary key指定该列唯一标识每一行,而不是NULL。一些支持auto_increment的数据库坚持将该列用作主键。这是有道理的,但声明做了不同的事情。 -
你的意思是
primary key auto_increment? -
@GordonLinoff 感谢您的洞察力。那么
auto-increment是否会增加每一列的值,而不是每一行——因此只给每一列一个唯一的值?谢谢! -
@jarlh 我正在使用我认为用 SQLite 实现的 android-studio
标签: sql sqlite primary-key auto-increment