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

MYSQL将列的默认值设置为新id,mysql,insert,auto-increment,Mysql,Insert,Auto Increment,如果unique\u id是一个自动递增的列,那么在插入新记录时,有没有办法让列master\u id默认值成为unique\u id?我认为“unique\u id”和“master\u id”是列。不可以,您不能将一列的默认值设置为另一列的默认值,但您可以创建一个,以便在插入时将主\u id设置为唯一\u id的值。假设master_id的默认值为0。然后,以下触发器应能工作: unique_id | master_id | othercolumns delimiter ;; CREAT

如果
unique\u id
是一个自动递增的列,那么在插入新记录时,有没有办法让列master\u id默认值成为unique\u id?

我认为“unique\u id”和“master\u id”是列。不可以,您不能将一列的默认值设置为另一列的默认值,但您可以创建一个,以便在插入时将
主\u id
设置为
唯一\u id
的值。假设master_id的默认值为0。然后,以下触发器应能工作:

unique_id | master_id | othercolumns
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 ;
insert into table ... set master_id=last_insert_id()+1;