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;