2010-11-09 16 views

Répondre

5

Non, vous ne pouvez pas avoir une valeur par défaut d'une colonne à la valeur d'un autre, mais vous pouvez créer un trigger pour définir master_id sur la valeur unique_id lors de l'insertion. Dites la valeur par défaut pour master_id est 0. Ensuite, le déclencheur devrait fonctionner:

delimiter ;; 

CREATE TRIGGER default_master_id 
    BEFORE INSERT 
    ON table_name FOR EACH ROW 
    IF NEW.master_id = 0 THEN 
    SET NEW.master_id = last_insert_id()+1 ; 
    END IF ;; 

delimiter ; 
2
insert into table ... set master_id=last_insert_id()+1;