0

我创建了一个表,其中包含一些具有 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'); 
4

1 回答 1

0

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

于 2014-05-20T16:22:12.533 回答