我创建了一个包含一些具有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');
答案 0 :(得分:0)
它插入空字符串作为您未提供的列的默认值。您的create语句中未指定该默认值,因此可能是由其他人创建的。如果在干净的DB上运行create和insert,则会失败。