我遇到了一个问题!
我已经使用 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 INTO user VALUES (null, 'user', 'Fname', 'Lname', 'mail@me.now');
fname 列中字符串的长度应该太短了,但还是插入了。
我很确定我在这里遗漏了一些基本的东西。