Using a check contraint in MySQL for controlling string length
Posted
by ptrn
on Stack Overflow
See other posts from Stack Overflow
or by ptrn
Published on 2010-06-12T01:20:15Z
Indexed on
2010/06/12
4:42 UTC
Read the original article
Hit count: 302
mysql
|check-constraints
I'm tumbled with a problem!
I've set up my first check constraint using MySQL, but unfortunately I'm having a problem. When inserting a row that should fail the test, the row is inserted anyway.
The structure:
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)
);
The insert statement:
INSERT INTO user VALUES (null, 'user', 'Fname', 'Lname', '[email protected]');
The length of the string in the fname column should be too short, but it's inserted anyway.
I'm pretty sure I'm missing something basic here.
© Stack Overflow or respective owner