2010-01-14 3 views
0

J'ai une table dans laquelle je souhaite qu'une valeur soit définie comme une autre lors de l'insertion.Définition d'une valeur de colonne après l'autre

Voici la table en question;

CREATE TABLE categories ( 
    id INT NOT NULL AUTO_INCREMENT, 
    title VARCHAR(30) NOT NULL, 
    root INT NULL DEFAULT id, 
    PRIMARY KEY(id) 
); 

Je veux la'root' colonne pour obtenir la même valeur que la colonne'id' obtient lors de l'insertion d'une nouvelle ligne. Je suppose que je peux le faire dans deux requêtes, mais j'espérais pouvoir le faire en un seul.

Merci,
_L

Répondre

0

J'utiliser des déclencheurs. Utilisez-vous MySQL 5.0.2 ou plus récent? Car avant cela, MySQL n'a pas de déclencheurs.

Essayez:

CREATE TRIGGER id_root_same AFTER INSERT ON categories 
FOR EACH ROW SET root = NEW.id; 

Mais pourquoi voudriez-vous faire une telle chose? Cela n'a aucun sens.

+0

J'utilise actuellement 5.0.75, donc je suppose que cela devrait fonctionner. Je vais essayer! :-) – ptrn

+0

J'ai abandonné cette solution de contournement et j'ai résolu le problème réel à la place. Merci pour l'aide :-) – ptrn

Questions connexes