为什么Mysql让我插入没有约束NOT NULL的字段的记录?

时间:2014-05-20 15:24:26

标签: mysql sql sql-insert non-nullable

我创建了一个包含一些具有NOT NULL约束的属性的表,然后我尝试了INSERT INTO指令,仅为没有NOT NULL约束的字段指定值,但指令仍然有效。它不应该工作并给出错误吗?

CREATE TABLE ciao(
  Id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
  Nome VARCHAR(30) NOT NULL,
  Cognome VARCHAR(30) NOT NULL,
  Nickname VARCHAR(30)
); 

INSERT INTO ciao(Nickname) VALUES ('prova'); 

1 个答案:

答案 0 :(得分:0)

它插入空字符串作为您未提供的列的默认值。您的create语句中未指定该默认值,因此可能是由其他人创建的。如果在干净的DB上运行create和insert,则会失败。