MySQL表rename引起外键问题解析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文主要给大家介绍MySQL表rename引起外键问题解析,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。背景:由于zabbix监
千家信息网最后更新 2026年11月01日MySQL表rename引起外键问题解析
本文主要给大家介绍MySQL表rename引起外键问题解析,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。
背景:
由于zabbix监控的问题图形展示很慢,对zabbix 库的events表进行了清理,清理过程采用了原表rename成bak表,重建events表后,将备份表部分数据导入到新表中。
后发现zabbix平台无法报警,无法恢复报警,日志类似报错: 2315:20190301:104933.609 [Z3005] query failed: [1452] Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`event_recovery`, CONSTRAINT `c_event_recovery_1` FOREIGN KEY (`eventid`) REFERENCES `events_bak20190225` (`eventid`) ON DELETE CASCADE) [insert into event_recovery (eventid,r_eventid,correlationid,c_eventid,userid) values (4242559,4242581,null,null,null),(4242561,4242580,null,null,null),(4242447,4242580,null,null,null);原来rename后,关联的外键表的约束竟然一并修改成了归档表的关联。
处理方法如下:
查看哪些表建立外键时关联了归档表
select distinct TABLE_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where TABLE_SCHEMA ='zabbix' and CONSTRAINT_name != 'PRIMARY' and REFERENCED_TABLE_NAME like 'event%';+----------------+--------------------+-----------------------+| TABLE_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME |+----------------+--------------------+-----------------------+| acknowledges | c_acknowledges_2 | events || alerts | c_alerts_2 | events || alerts | c_alerts_5 | events || event_recovery | c_event_recovery_1 | events || event_recovery | c_event_recovery_2 | events || event_recovery | c_event_recovery_3 | events || event_tag | c_event_tag_1 | events_bak20190225 || problem | c_problem_1 | events || problem | c_problem_2 | events |+----------------+--------------------+-----------------------+查看表结构:
show create table event_tag\G*************************** 1. row *************************** Table: event_tagCreate Table: CREATE TABLE `event_tag` ( `eventtagid` bigint(20) unsigned NOT NULL, `eventid` bigint(20) unsigned NOT NULL, `tag` varchar(255) NOT NULL DEFAULT '', `value` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`eventtagid`), KEY `event_tag_1` (`eventid`), CONSTRAINT `c_event_tag_1` FOREIGN KEY (`eventid`) REFERENCES `events_bak20190225` (`eventid`) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8修改外键约束:
alter table event_tag drop FOREIGN KEY c_event_tag_1;alter table event_tag add FOREIGN KEY c_event_tag_1 (`eventid`) REFERENCES `events`(`eventid`) ON DELETE CASCADE;zabbix好多外键,下次清理数据直接删除吧。
看了以上MySQL表rename引起外键问题解析介绍,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,大家可以继续关注行业资讯板块,会定期给大家更新行业新闻和知识,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
问题
关联
数据
知识
行业
报警
解答
专业
东西
书籍
可在
图形
地方
备份
多年
实际
小时
平台
意义
文献
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会毛军
科技股互联网
港股互联网科技股
奇酷互联网络科技公司
赫美联合互联网科技
多迪互联网科技有限公司
中盈科技互联网信息有限公司
互联网科技热点资讯
团飞科技与伯堂互联网服务平台
科技互联网大厂
华夏恒生互联网科技013171
长沙茂晟互联网科技有限公司
济南有互联网科技公司吗
广西科技产业互联网是什么
广州智享互联网科技
上海万顺科技互联网有限公司招聘
易租星互联网科技有限公司
互联网时代高科技布局
河南商务圈互联网科技有限公司
上海旺乐尼互联网科技有限公司
蓝思科技飞鸽互联网
科技创新与互联网经济
互联网最新的科技有限公司
礼当家互联网科技
哈尔滨秒房互联网科技有限公司
以后互联网后是啥科技
重庆威客帮互联网科技
科技大学互联网
互联网时代科技型公司的机会
安徽九吞吴互联网科技有限公司