0

在此处输入图像描述

我正在使用wamp.win 7

在我的数据库中,我有一个表be_users,两个字段:username并且email,它们都是 set NOT NULL

但是为什么我仍然可以将insert值和空值清空到字段中:电子邮件,见下图: 在此处输入图像描述

4

4 回答 4

0

实际上,您正在插入文本,而它们不是NULL. 文本与NULLNULL非常不同。如果该字段设置为 ,则永远不能违反规则。NOT NULL

尝试执行此语句,

INSERT INTO tableName VALUES (null, null)  -- will fail

它肯定会失败,因为那些是NULL。但是下面的这个语句肯定会起作用,因为你正在插入string.

INSERT INTO tableName VALUES ('', 'null')  -- will work
于 2013-05-10T05:36:01.060 回答
0

空值不等于 NULL,看起来您正在将“null”而不是 NULL 插入到数据库中,因此您最终得到的是字符串“null”而不是 NULL 值。

于 2013-05-10T05:36:34.593 回答
0

不要发送用引号“NULL”或“NULL”括起来的 NULL,它会被视为文本值。

问题是由于这两个字段使用的数据类型。“文本”您可以将其更改为 varchar(255) 以使用 NULL。NULL 和数据类型文本存在一些问题。

于 2013-05-10T05:39:30.120 回答
0

Null是一个关键字。如果您直接输入 null ,那么它会显示错误。

例子-

insert into tablename(fieldname) values(null); 

上面这行会产生错误(如果你提到过not null)。

我认为您输入了其他内容。请再次检查表结构并输入新数据。

于 2013-05-10T05:40:01.877 回答