我正在读某处,添加AUTO_INCREMENT
将允许id
列自动生成从1开始的序号。但是,在这种情况下,似乎没有必要定义{{ 1}}和NOT NULL
。在创建表格时,为什么我仍然会使用UNIQUE
和NOT NULL
在线看到很多示例?
答案 0 :(得分:0)
Per the documentation,如果将null值分配给定义为非null的auto_id,则它将使用下一个顺序值替换null。由于ID可能是您的主键(或键的一部分),因此它不应该采用空值。
另外,per this example,如果你没有指定它应该是非null,MySQL将为你提供。
答案 1 :(得分:0)
好的,在重新阅读文档后,似乎如果定义了NOT NULL
...当插入值时,可以使用值NULL
自动分配下一个序列号。如果未定义NOT NULL
,则可以仅使用值0来分配下一个序列号。此外,应该注意的是,UNIQUE
不需要定义,因为ID通常与PRIMARY KEY
一起使用,并且实现了相同的目标。