mysql外键没法删除数据的状况

最近碰到一次在msyql主从删除数据,竟然报错
java

delete from pt_game_server where id=2;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`wonder_center`.`pt_server_area`, CONSTRAINT `pt_server_area_ibfk_1` FOREIGN KEY (`game_server_id`) REFERENCES `pt_game_server` (`id`))


有文章说多是mysql总从的缘由,应该删除从表上的数据,再来删除主表的数据。因而在从表上进行如下操做。发现仍是报一样的错误mysql

mysql> delete from pt_game_server where id=2;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`wonder_center`.`pt_server_area`, CONSTRAINT `pt_server_area_ibfk_1` FOREIGN KEY (`game_server_id`) REFERENCES `pt_game_server` (`id`))


继续爬文。最后发现是外键形成的,原来子表还有剧,致使主表没法删除。sql

mysql> delete from  pt_server_area where  id=2;
Query OK, 1 row affected (0.00 sec)
mysql> delete from  pt_game_server where id=2;
Query OK, 1 row affected (0.00 sec)


先删除子表的数据,而后再删除主表的数据。ide

相关文章
相关标签/搜索