我使用 phpMyAdmin 创建了一个包含一些 NOT NULL 列的表。
CREATE TABLE `TEST` (`ID` INT PRIMARY KEY AUTO_INCREMENT,
`Firstname` VARCHAR(20) NOT NULL,
`Lastname` VARCHAR(20) NOT NULL)
INSERT 操作没有问题。数据库阻止正确设置 NULL 字段。
INSERT INTO `TEST`(`Firstname`, `Lastname`) VALUES ("Peter", null)
#1048 - Column 'Lastname' cannot be null
接受的是:
INSERT INTO `TEST`(`Firstname`, `Lastname`) VALUES ("Peter", "Smith")
1 row inserted.
Inserted row id: 1 (Query took 0.0004 sec)
但是在我成功创建了一个包含非 NULL 字段的记录后,数据库允许我将这些字段更新为 NULL。
UPDATE `TEST` SET `Lastname`=NULL WHERE `ID` = 1
1 row affected. (Query took 0.0006 sec)
我也尝试过“NULL”和“NULL”,但数据库将它们作为字符串放在字段中。
我真的很困惑这个问题。这是一个 phpMyAdmin 错误还是我做错了什么?