91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL表rename引起外鍵問題解析

發布時間:2020-04-27 10:37:28 來源:億速云 閱讀:505 作者:三月 欄目:MySQL數據庫

本文主要給大家介紹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后,關聯的外鍵表的約束竟然一并修改成了歸檔表的關聯。
處理方法如下:
查看哪些表建立外鍵時關聯了歸檔表

MySQL表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_tag
Create 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小時售前售后,隨時幫您解答問題的。

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉中市| 毕节市| 通山县| 合阳县| 璧山县| 岑巩县| 土默特左旗| 方城县| 阿拉善右旗| 翁源县| 鄂尔多斯市| 南陵县| 芦溪县| 永寿县| 江华| 辽阳县| 石泉县| 汾西县| 胶南市| 北票市| 灌云县| 屯昌县| 博乐市| 洞头县| 胶州市| 宁化县| 凭祥市| 新源县| 石棉县| 拉萨市| 长垣县| 大安市| 五原县| 织金县| 衢州市| 榆林市| 调兵山市| 泾川县| 寿宁县| 甘德县| 靖宇县|