MYSQL,触发器,实现多个表共用ID不重复

Posted 高因咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL,触发器,实现多个表共用ID不重复相关的知识,希望对你有一定的参考价值。

 

参考:https://my.oschina.net/jiuxiaoyao/blog/839266

mysql 没有sequence 

SET @@auto_increment_offset
SET @@auto_increment_increment

也只能在当前查询有效.所以这也是权宜之计

DROP TRIGGER IF EXISTS `InsertUser`;
create trigger InsertUser    
before insert on userinfo   
for each row    
Begin   

declare id int;
insert into user values (NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);#让自动增长的表插入失败,ID作废,就可以让触发器的表使用
select id  into @id from user order by id desc limit 1;

set new.id = @id;

end;  

 

以上是关于MYSQL,触发器,实现多个表共用ID不重复的主要内容,如果未能解决你的问题,请参考以下文章

如何从mysql中获取多个ID相关值[重复]

MYSQL过滤表中某几个字段重复的数据

触发插入 - 防止插入重复 ID

Mysql连接多个表和列重复[关闭]

MySQL 字段 DEFAULT uuid 怎么实现

如何在MYSQL中联合多个表[重复]