首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL将列默认值设置为新id

问MYSQL将列默认值设置为新id
EN

Stack Overflow用户
提问于 2010-11-09 17:23:45
回答 2查看 2.3K关注 0票数 0
代码语言:javascript
复制
unique_id | master_id | othercolumns

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-09 17:36:37

我认为"unique_id“和"master_id”是列。不能,您不能让一列缺省为另一列的值,但是您可以创建一个trigger,在插入时将master_id设置为unique_id的值。假设master_id的默认值为0。那么下面的触发器应该会起作用:

代码语言:javascript
复制
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 ;
票数 5
EN

Stack Overflow用户

发布于 2010-11-09 17:39:36

代码语言:javascript
复制
insert into table ... set master_id=last_insert_id()+1;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4132098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档