在SQL中编写DDL时,可以在列上指定几个约束,例如NOT NULL
或DEFAULT
约束。 有人可能会怀疑,这两个约束是否实际上是多余的 ,也就是说,如果已经有DEFAULT
子句,是否仍然需要指定NOT NULL
约束?
答案是:是的!
是的,您仍应指定NOT NULL
约束。 不,这两个约束不是多余的。 我在Stack Overflow上给出的答案是通过示例总结的,我将在我们的博客上重复此示例:
DEFAULT
是在insert / update语句中没有显式值的情况下将要插入的值。 假设您的DDL没有NOT NULL
约束:ALTER TABLE tbl ADD COLUMN col VARCHAR(20) DEFAULT "MyDefault"
然后你可以发表这些声明
-- 1. This will insert "