ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails
当使用MySQL的delete命令删除数据库表时,报如题所示的错误。
原因分析:这是因为MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。
解决方法:
MariaDB [neutron]> SET FOREIGN_KEY_CHECKS = 0;
Query OK, 0 rows affected (0.00 sec)
MariaDB [neutron]> delete from networks where id="ae41e66d-cbe5-4df8-ab09-17d304f34172";
Query OK, 1 row affected (0.02 sec)
MariaDB [neutron]> SET FOREIGN_KEY_CHECKS = 1;
Query OK, 0 rows affected (0.00 sec)