Je suis tombé en panne avec un problème!Utilisation d'une contrainte de vérification dans MySQL pour contrôler la longueur de la chaîne
J'ai configuré ma première contrainte de vérification en utilisant MySQL, mais malheureusement j'ai un problème. Lorsque vous insérez une ligne qui échoue au test, la ligne est insérée de toute façon.
La 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)
);
L'instruction d'insertion:
INSERT INTO user VALUES (null, 'user', 'Fname', 'Lname', '[email protected]');
La longueur de la chaîne dans la colonne nomfich devrait être trop court, mais il est inséré de toute façon.
Je suis sûr que je manque quelque chose de fondamental ici.
Je veux que ce soit au moins 30 caractères (plus courte que vraiment, je viens de mettre dans 30 pour que ce scénario ne permettrait pas) , donc toutes les chaînes plus longues que cela seraient acceptées – ptrn
Impossible de compiler même. – zgnilec