读书人

为什么主键update为空不违反not null的

发布时间: 2012-01-14 20:02:35 作者: rapoo

为什么主键update为空不违反not null的约束
USE School
CREATE TABLE Stu_Union(sno CHAR(5) NOT NULL UNIQUE,
sname CHAR(8),
ssex CHAR(1),
sage INT,
sdept CHAR(20),
CONSTRAINT PK_Stu_Union PRIMARY KEY(sno) );
insert Stu_Union values ( '10000','王敏','1',23,'CS');
UPDATE Stu_Union SET sno=' ' WHERE sdept='CS';
为什么sno置为’’没有违反NOT NULL的约束 ?

[解决办法]

探讨
引用:
是的 ''和NULL不能等同的。

那为什么sno的值不是'',好像改不了,是什么原因啊??那''是什么??

[解决办法]
不能修改是因为记录中主键是不能修改的吧
[解决办法]
一般来说,所有的脚本和语言里 空字符串和null都是两个东西。为什么呐?
因为字符串是一个对象,内部有一个字符序列,空字符串也是一个对象,内部的序列里没有字符。
null就是空,没有对象。所以不一样。

读书人网 >C#

热点推荐