概述
使用 MySQL 触发器同时向两个表中插入数据信息
使用场景:现有这样的关系:
例如将用户登录注册,详细信息分别放在了两张表中,我们注册一个用户及插入用户登录/注册表的信息,但是详细信息表是没有记录的,如果还想用注册/登录表的自动生成的主键作为外键,被详细信息表依赖,所以,详细信息表在注册时最少也要生成主键
此时,就遇到了需要同时向两张表中插入数据的操作,并且是有外键关系的,此时考虑几个问题:
(1)登录表注册之后才会有主键 user_id
(2)详细信息表还需要用那个 user_id
(3)如果想在登录表插入后再去查询出那个 user_id 就会有问题,还必须有其他唯一键吧
解决方法:使用 MySQL 触发器
(1)创建触发器:
使用 Navicat:
使用SQL:
CREATE TRIGGER `ins_trigger` AFTER INSERT ON `user_info` FOR EACH ROW INSERT INTO user_detail_info(user_id) VALUES(new.user_id);;
(2)查询所有触发器:
使用 SQL:
show TRIGGERS from 数据库名;
(3)不需要时删除:
drop trigger 触发器名称;
(4)测试:
最后
以上就是个性纸飞机为你收集整理的使用 MySQL 触发器同时向两个表中插入数据信息的全部内容,希望文章能够帮你解决使用 MySQL 触发器同时向两个表中插入数据信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复