【发布时间】:2012-05-05 14:45:25
【问题描述】:
是否需要为 MySQL 数据库中的主键声明“NOT NULL”约束?主键不能有 NULL 值,因为它无论如何都会自动递增并自动填充字段记录。那么我是否正确地说这意味着我可以删除主键的“NOT NULL”约束?
【问题讨论】:
-
将它们放在列上不会造成伤害,并且在读取表定义时会产生显式。如果将来您更改主键约束,您仍然会有
NOT NULL约束。 -
你确实有两个你不应该有的概念交织在一起。主键不必是自增列,也不必(如果表有)自增列必须是主键。仅仅因为它们倾向于一起使用并不意味着它们是同一个东西。
标签: mysql sql database database-design