【问题标题】:Do I need to put NOT NULL when using AUTO_INCREMENT in SQL?在 SQL 中使用 AUTO_INCREMENT 时需要输入 NOT NULL 吗?
【发布时间】:2014-05-11 10:58:22
【问题描述】:

我正在为我正在研究的一个项目实现一个数据库,在使用了一些 AUTO_INCREMENTS 之后我很好奇......一旦 AUTO_INCREMENT 已经自动在列中插入一个值,为什么我们需要把NOT NULL 在一起?

例子:

user_id INT NOT NULL AUTO_INCREMENT

谢谢。

【问题讨论】:

  • 因为您可以在该列中插入值,即使它是AUTO_INCREMENT
  • null 插入 mysql 中的 auto_inc 字段是一个信号,用实际的下一个增量值替换该空值。另外,auto_inc 字段往往是主键,不允许使用可为空的主键。

标签: mysql sql database auto-increment


【解决方案1】:

您不必在使用AUTO_INCREMENT 的列定义上指定NOT NULL

您可以不使用它,MySQL 将创建列NOT NULL

如果您指定NULL 代替NOT NULL,MySQL 将接受该语法,但它会忽略它,并生成NOT NULL 列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2014-12-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    相关资源
    最近更新 更多