2010-11-09 112 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;