2010-11-09 115 views
0
unique_id | master_id | othercolumns 

如果unique_id是自動遞增列,是有辦法有插入新記錄時,該列master_id默認值是UNIQUE_ID?MYSQL設置默認值是新的ID

回答

5

我認爲它的「unique_id」和「master_id」是列。不,您不能將一列默認爲另一列的值,但您可以創建一個trigger,以在插入時將master_id設置爲unique_id的值。說了master_id默認爲0,然後下面的觸發器應該工作:

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;