ERROR 1217 (23000) at line 19: Cannot delete or update a parent row: a foreign key constraint fails

本文详细解释了在MySQL中遇到的错误'ERROR1217(23000)',该错误发生在尝试导入SQL文件时,由于外键约束导致。解决方案包括导入前关闭外键检查(设置foreign_key_checks=0),并在导入后恢复(设置foreign_key_checks=1)。同时提供了详细的步骤说明。

mysql命令行 导入sql报错:


Enter password: 

ERROR 1217 (23000) at line 19: Cannot delete or update a parent row: a foreign key constraint fails


解决办法:

导入sql文件前,取消外键检查:set foreign_key_checks=0;

导入sql文件后,加入外键检查:set foreign_key_checks=1;

11111111111 role_name='ss' role_code='ss' role_desc='sss' by_role_home_id=0 status_type=<StatusType.enable: '1'> Traceback (most recent call last): File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\tortoise\backends\mysql\client.py", line 50, in translate_exceptions_ return await func(self, *args) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\tortoise\backends\mysql\client.py", line 184, in execute_insert await cursor.execute(query, values) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\aiomysql\cursors.py", line 239, in execute await self._query(query) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\aiomysql\cursors.py", line 457, in _query await conn.query(q) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\aiomysql\connection.py", line 469, in query await self._read_query_result(unbuffered=unbuffered) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\aiomysql\connection.py", line 683, in _read_query_result await result.read() File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\aiomysql\connection.py", line 1164, in read first_packet = await self.connection._read_packet() File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\aiomysql\connection.py", line 652, in _read_packet packet.raise_for_error() File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\pymysql\protocol.py", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\pymysql\err.py", line 150, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`equip_ledger_spf`.`roles`, CONSTRAINT `fk_roles_menus_87423b1d` FOREIGN KEY (`by_role_home_id`) REFERENCES `menus` (`id`) ON DELETE CASCADE)') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\dev\EquipmentRegistryDataPlatform\app\api\v1\system_manage\roles.py", line 54, in _ new_user = await role_controller.create(obj_in=role_in) File "D:\dev\EquipmentRegistryDataPlatform\app\core\crud.py", line 72, in create await obj.save() File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\tortoise\models.py", line 1013, in save await executor.execute_insert(self) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\tortoise\backends\base\executor.py", line 188, in execute_insert insert_result = await self.db.execute_insert(self.insert_query, values) File "D:\dev\EquipmentRegistryDataPlatform\venv\lib\site-packages\tortoise\backends\mysql\client.py", line 60, in translate_exceptions_ raise IntegrityError(exc) tortoise.exceptions.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`equip_ledger_spf`.`roles`, CONSTRAINT `fk_roles_menus_87423b1d` FOREIGN KEY (`by_role_home_id`) REFERENCES `menus` (`id`) ON DELETE CASCADE)')
08-28
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值