首页 > 其他 > 详细

Cannot delete or update a parent row: a foreign key constraint fails解决方法

时间:2015-03-26 17:54:31      阅读:246      评论:0      收藏:0      [点我收藏+]

我在使用delete from table语句清空一个表数据时,报错 Cannot delete or update a parent row: a foreign key constraint fails。

先把我的数据库贴出来。

tb_device表

技术分享

技术分享

技术分享


tb_device_status_now表

技术分享

技术分享

正题:


最开始我直接清空tb_device,报错。看数据库发现tb_device_status_now中的字段与其外键关联所以不能清空。所以改为先清空tb_device_status_now表,再清空tb_device。结果发现还是报错!再看数据库,发现tb_device表中dev_master字段与dev_id字段也是外键关联。。。。

所以要先清空dev_master字段,才能清空tb_device整张表。

清空某字段数据的sql语句:update table set column=null


最后我的删除顺序:

<span style="white-space:pre">		</span>//先清空tb_device_status_now表中旧数据
		String sqldel = "delete from tb_device_status_now";
		jdbcTemplate.execute(sqldel);

		//再清空tb_device表中旧数据;其中先清空dev_master字段,外键关联dev_id,否则删不掉表报错
		String sqldel1 = "update tb_device set dev_master = null";
		jdbcTemplate.execute(sqldel1);

		String sqldel2 = "delete from tb_device";
		jdbcTemplate.execute(sqldel2);


Cannot delete or update a parent row: a foreign key constraint fails解决方法

原文:http://blog.csdn.net/zhangxbj/article/details/44650441

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!