MYSQL将列的默认值设置为新的id

时间:2010-11-09 09:23:45

标签: mysql insert auto-increment

unique_id | master_id | othercolumns

如果unique_id是具有自动增量的列,是否有办法在插入新记录时将列master_id默认值设为unique_id?

2 个答案:

答案 0 :(得分: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 ;

答案 1 :(得分:2)

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