您要插入空字符串,而空字符串不是
NULL,要检查
NULL错误,请执行以下操作:
INSERT INTO `addresses` (`street`, `city`, `state`, `zip`) VALUES (NULL, NULL, NULL, NULL);
你会看到错误。该
NOT NULL只对那些不值检查
NULL。
为了防止空字符串,您必须使用触发器,或者
NULL在执行
INSERT查询之前对服务器端编程语言进行检查以将空字符串转换为。的示例触发器
INSERT可能类似于:(这只是一个示例)
CREATE TRIGGER avoid_empty BEFORE INSERT ON addresses FOR EACH ROW BEGIN IF street = '' THEN SET street = NULL END IF;END;



