刪除或清空具有外來鍵約束的表資料包-ERROR 1701 (42000)
OS: centos 6.3
DB:5.5.14
mysql> select database();
+------------+
| database() |
+------------+
| sakila |
+------------+
1 row in set (0.00 sec)
mysql> delete from actor;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`sakila`.`film_actor`, CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `actor` (`actor_id`) ON UPDATE CASCADE)
mysql> truncate table actor;
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`sakila`.`film_actor`, CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `sakila`.`actor` (`actor_id`))
mysql> show index from actor;
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| actor | 0 | PRIMARY | 1 | actor_id | A | 200 | NULL | NULL | | BTREE | | |
| actor | 1 | idx_actor_last_name | 1 | last_name | A | 200 | NULL | NULL | | BTREE | | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
mysql> set foreign_key_checks=0;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from actor;
Query OK, 200 rows affected (0.01 sec)
mysql> set foreign_key_checks=1;
Query OK, 0 rows affected (0.00 sec)
DB:5.5.14
mysql> select database();
+------------+
| database() |
+------------+
| sakila |
+------------+
1 row in set (0.00 sec)
mysql> delete from actor;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`sakila`.`film_actor`, CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `actor` (`actor_id`) ON UPDATE CASCADE)
mysql> truncate table actor;
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`sakila`.`film_actor`, CONSTRAINT `fk_film_actor_actor` FOREIGN KEY (`actor_id`) REFERENCES `sakila`.`actor` (`actor_id`))
mysql> show index from actor;
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| actor | 0 | PRIMARY | 1 | actor_id | A | 200 | NULL | NULL | | BTREE | | |
| actor | 1 | idx_actor_last_name | 1 | last_name | A | 200 | NULL | NULL | | BTREE | | |
+-------+------------+---------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
mysql> set foreign_key_checks=0;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from actor;
Query OK, 200 rows affected (0.01 sec)
mysql> set foreign_key_checks=1;
Query OK, 0 rows affected (0.00 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-1249694/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 生成指令碼,得到所有表的外來鍵約束,然後刪除並重建這些約束指令碼
- 批量刪除MSSQL 中主外來鍵約束SQL
- 外來鍵約束
- Javaweb-約束-外來鍵約束JavaWeb
- Mysql-基本練習(06-唯一約束、外來鍵約束、新增、刪除單列)MySql
- 關於外來鍵約束
- 約束外來鍵筆記筆記
- mysql~資料完整性考慮~外來鍵約束MySql
- oracle外來鍵約束的總結Oracle
- AppBoxFuture(七): 分散式外來鍵約束APP分散式
- 教你mysql如何增加外來鍵約束MySql
- SQL外來鍵約束的含義及建立SQL
- MySQL——表的約束,資料型別,增刪查改MySql資料型別
- [資料庫]資料庫中為什麼不推薦使用外來鍵約束資料庫
- MariaDB資料庫的外來鍵約束例項程式碼介紹詳解資料庫
- 資料遷移無法新增外來鍵約束,錯誤程式碼 1215
- mysql不能新增外來鍵約束怎麼辦MySql
- Mysql資料庫值的新增、修改、刪除及清空MySql資料庫
- 聊聊Oracle外來鍵約束(Foreign Key)的幾個操作選項Oracle
- MySQL刪除資料表MySql
- [20180423]關於閃回表與主外來鍵約束.txt
- 【Linux】linux下刪除/清空資料夾/檔案命令Linux
- 《資料庫系統概論》5.0——常見約束 大學生學習筆記(主鍵 外來鍵)資料庫筆記
- Mysql關於資料庫是否應該使用外來鍵約束詳解說明創磅MySql資料庫
- 如何解決邏輯刪除與資料庫唯一約束衝突資料庫
- SQL Server實戰三:資料庫表完整性約束及索引、檢視的建立、編輯與刪除SQLServer資料庫索引
- MySQL 用隨機資料填充外來鍵表MySql隨機
- python 刪除大表資料Python
- Sqlserver中所有約束的型別,建立、修改與刪除SQLServer型別
- Sql server 檢視錶引用、依賴項,刪除表及約束 指令碼SQLServer指令碼
- SQL Server 資料表程式碼建立約束SQLServer
- 簡單介紹mysql如何刪除資料表和關聯的資料表刪除詳情MySql
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- sql運算元據庫(3)-->外來鍵約束、資料庫表之間的關係、三大正規化、多表查詢、事務SQL資料庫
- 刪除a表中和b表相同的資料
- mysql 刪除表中重複的資料MySql
- whk我【資料刪除】你個【資料刪除】的
- DBeaver如何刪除一行或多行資料
- JavaScript刪除和清空物件屬性JavaScript物件