【发布时间】:2021-12-29 11:58:19
【问题描述】:
从带有 AUTO_INCREMENT 列的 MySQL 表中获取 ID 时,我总是检查它是否严格大于 0。 但最近我在想,AUTO_INCREMENT 是不是有严格的规定?
【问题讨论】:
-
0 和负 id 有什么问题?
-
您不能创建带有负 AUTO_INCREMENT 的表或在 ALTER TABLE 中设置负值 - 这会导致语法错误。如果在 CREATE TABLE 中将其设置为 0,则忽略此设置,等于设置为 1。如果您在 ALTER TABLE 中将其设置为小于当前值,则忽略此更改。但是您可以显式插入负值(这不会更改当前的 AUTO_INCREMENT 值)。见dbfiddle.uk/…
-
' 我总是检查它是否严格大于 0。' - 根据上下文可能是个好主意..