MYSQL,触发器,实现两个表共用ID不重复
前后台没有分开,为了区分前后台用户,所以分表,但是ID不能重复,因为关联了权限表.
这里实现后台用户表使用奇数ID
前台用户表使用偶数ID
MYSQL 没有sequence
SET @@auto_increment_offset
SET @@auto_increment_increment
也只能在当前查询有效.所以这也是权宜之计
SET FOREIGN_KEY_CHECKS=0; -- ----------------------------
-- Table structure for acl_user
-- ----------------------------
DROP TABLE IF EXISTS `acl_user`;
CREATE TABLE `acl_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(50) NOT NULL COMMENT '密码',
`enabled` tinyint(4) DEFAULT NULL,
`accountNonExpired` tinyint(4) DEFAULT NULL,
`credentialsNonExpired` tinyint(4) DEFAULT NULL,
`accountNonLocked` tinyint(4) DEFAULT NULL,
`desc` varchar(255) DEFAULT NULL COMMENT '描述',
`insertDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TRIGGER IF EXISTS `InsertAclUser`;
DELIMITER ;;
CREATE TRIGGER `InsertAclUser` BEFORE INSERT ON `acl_user` FOR EACH ROW Begin
SET session auto_increment_offset=1;
SET session auto_increment_increment=2;
end
;;
DELIMITER ; -- ----------------------------
-- Records of acl_user
-- ----------------------------
INSERT INTO `acl_user` VALUES ( NULL,'adminstrator', '123456aa', '', '', '', '', null, '2017-04-14 10:51:45'); SET FOREIGN_KEY_CHECKS=0; -- ----------------------------
-- Table structure for invoice_userinfo
-- ----------------------------
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`usrname` varchar(15) COLLATE utf8_general_mysql500_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_mysql500_ci; -- ----------------------------
-- Records of invoice_userinfo
-- ----------------------------
DROP TRIGGER IF EXISTS `InsertUser`;
DELIMITER ;;
CREATE TRIGGER `InsertUser` BEFORE INSERT ON `userinfo` FOR EACH ROW Begin
SET session auto_increment_offset=2;
SET session auto_increment_increment=2;
end
;;
DELIMITER ;
MYSQL,触发器,实现两个表共用ID不重复的更多相关文章
- 【转】mysql 触发器实现两个表的数据同步
mysql通过触发器实现两个表的同步 目前,在本地测试成功. 假设本地的两个数据库a和b,a下有表table1(id, val) b下有表table2(id, val) 假设希望当table1中数据更 ...
- mysql高效获取两张表共同字段的交集数据
例如下面两站表A,B.A表和B表分别有5-10w数据.A表结构如下:id bid name title publisher extraB表结构如下id bid name title publisher ...
- MySQL Innodb的两种表空间方式
要说表空间,MySQL的表空间管理远远说不上完善.换句话说,事实上MySQL根本没有真正意义上的表空间管理.MySQL的Innodb包含两种表空间文件模式,默认的共享表空间和每个表分离的独立表空间.只 ...
- MySql 触发器同步备份数据表记录
添加记录到新记录表 DELIMITER $$ USE `DB_Test`$$ CREATE /*!50017 DEFINER = 'root'@'%' */ TRIGGER `InsertOPM_Al ...
- 【mybatis】mysql级联更新两个表或多张表的数据
例如 info表和relation表有关联,现在要在一个sql语句中同时级联更新两张表的数据 update security_code_info info LEFT JOIN security_cod ...
- Mysql训练:两个表中使用 Select 语句会导致产生 笛卡尔乘积 ,两个表的前后顺序决定查询之后的表顺序
力扣:超过经理收入的员工 Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+----- ...
- mysql如何让两个字段数据都不能重复?
目录 场景 任务(需求) 行动(解决方案) 方案1:从代码层面解决(正确方案) 方案2:设置成两个唯一索引(正确方案) 方案3:删掉中间表,把从表的主键作为主表的外键,并将外键设置成唯一索引(正确方案 ...
- mysql触发器应用和创建表错误代码: 1118 Row size too large. 解决
1.针对数据库查询问题的方便,可以建立重要表的log备份记录表,在主表的添加,修改,删除添加触发器,修改触发器增加触发字段的点,限制条件. 数据库log表查问题比从线上多台服务器上下载日志文件相对方便 ...
- mysql 修改已存在的表增加ID属性为auto_increment自动增长
今天有需要将已经存在表设置自动增长属性 具体如下 alter table customers change id id int not null auto_increment primary key; ...
随机推荐
- (纯代码)快速创建wcf rest 服务
因为有一个小工具需要和其它的业务对接数据,所以就试一下看能不能弄一个无需配置快速对接的方法出来,百(以)度(讹)过(传)后(讹),最后还是对照wcf配置对象调试出来了: 1.创建WebHttpBind ...
- Redis清空数据
进入redis目录下 redis-cli -h IP -p 端口 -a 密码 flushall
- android .9图片的制作
android .9PNG图片制作 在android开发的过程中,我们经常因为没有好的美工图片失真,这样使界面看起来要逊色很多,有的时候可能我们会想在drawable-hdpi,ldpi,mdpi下放 ...
- js—双等号引起的类型转换过程
一.首先看双等号前后有没有NaN,如果存在NaN一律返回false 二.再看双等号前后有没有布尔,有布尔就将布尔转换为数字.(false是0,true是1) 三.接着看双等号前后有没有字符串,有三种情 ...
- IIS与Apache禁止IP地址直接访问网站
一.IIS 防止恶意域名指向解决方法 首先单击"开始"-"设置"-"控制面板"-"管理工具",找到"Inter ...
- linux ss 命令
ss 是 Socket Statistics 的缩写.ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似.但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连 ...
- SSD写入放大问题[转]
原文地址:http://blog.csdn.net/cywosp/article/details/29812433 之前在SSD(Solid State Drive)上设计并实现缓存系统用于存储数据块 ...
- NOIP 2017 day 1 游记
心情非常复杂.大概就是我问到的所有人都A掉了T1那样. 的确没有按套路出牌,今年T1不是大模拟,反倒是T2. ……已经不想再提到今天的T1了.如果真的要我说,我只能说 我再次学了一整年的OI,结果栽到 ...
- BZOJ 3771: Triple [快速傅里叶变换 生成函数 容斥原理]
题意:n个物品,可以用1/2/3个不同的物品组成不同的价值,求每种价值有多少种方案(顺序不同算一种) [生成函数]: 构造这么一个多项式函数g(x),使得n次项系数为a[n]. 普通型生成函数用于解决 ...
- 使用正则表达式和数组形式获取get方法传入的值
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...