1
我遇到了问题!在MySQL中使用检查限制来控制字符串长度
我已经使用MySQL设置了我的第一个检查约束,但不幸的是我有一个问题。当插入一个测试失败的行时,该行仍然被插入。
结构:
CREATE TABLE user (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
uname VARCHAR(10) NOT NULL,
fname VARCHAR(50) NOT NULL,
lname VARCHAR(50) NOT NULL,
mail VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
CHECK (LENGTH(fname) > 30)
);
insert语句:
INSERT INTO user VALUES (null, 'user', 'Fname', 'Lname', '[email protected]');
在FNAME列中的字符串的长度应该是太短了,但它插入反正。
我很确定我在这里缺少一些基本的东西。
我想这是至少30个字符长(比真的,我只是把30短,使得这种情况下会失败) ,所以任何比这更长的字符串将被接受 – ptrn 2010-06-12 01:30:06
甚至不能编译。 – zgnilec 2012-04-24 00:30:48