无法删除表中的一行(MySQL)

man*_*ing 0 mysql sql mysql-error-1451

亲爱的,我在MySQL中遇到问题:我无法DELETE FROM users where user_id ='1';在MySQL CLI中执行.所以我试着在phpMyAdmin中:使用GUI删除一行,我得到了这个:

SQL查询:

DELETE FROM `health_portal`.`users` WHERE `users`.`user_id` =1
Run Code Online (Sandbox Code Playgroud)

MySQL说:文档

Cannot delete or update a parent row: a foreign key constraint fails (`health_portal`.`users`, CONSTRAINT `users_ibfk_2` FOREIGN KEY (`doctor_id`) REFERENCES `users` (`user_id`)) 
Run Code Online (Sandbox Code Playgroud)

我在Mysql网站上查找了这个错误并得到了:错误:1451 SQLSTATE:23000(ER_ROW_IS_REFERENCED_2)

消息:无法删除或更新父行:外键约束失败(%s)

我不知道这里有什么问题,希望有人能给我一个提醒.

很多thx!

tda*_*ers 6

您有一位医生通过外键用on delete no action或引用该用户on delete restrict.将外键更改为on delete set null(将引用医生的user_id设置为null)或on delete cascade(将医生与用户一起删除),或手动将医生分配给其他用户,然后重新运行查询.