首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表中删除行时MySQL完整性约束冲突异常

问从表中删除行时MySQL完整性约束冲突异常
EN

Stack Overflow用户
提问于 2015-12-06 19:07:04
回答 2查看 1.5K关注 0票数 0

在非常简单的表上运行下面的sql语句时,我会收到下面的错误。这里使用的唯一外键是表runs中的外键,外键是引用samples.id的runs.sample_id键。我不知道为什么要收到这个错误,因为在删除它们所依赖的示例之前,我尝试删除所有的运行。代码如下:

java代码:

字符串deleteRunsQuery =“从运行中删除”;//从运行表中删除行deleteSamplesQuery =“从示例中删除”;//删除示例表中的行

stmt.executeUpdate(deleteRunsQuery);

stmt.executeUpdate(deleteSamplesQuery);

例外是:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法删除或更新父行:外键约束失败(gc_image_relational.runs,约束sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown外键(sample_id)在sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown方法中引用samples (id))在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown源(在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown源)在java.lang.reflect.Constructor.newInstance(Unknown源)在com.mysql.jdbc.Util.handleNewInstance(Util.java:400) (在com.mysql.jdbc.SQLError.createSQLException(SQLError.java:上)在com.mysql.jdbc.Util.getInstance(Util.java:383)上在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2541) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1604) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1535)在com.gcimage.relational.RelationalDatabaseTest.disposeDb(RelationalDatabaseTest.java:40)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-06 19:21:55

恐怕没有足够的代表发表评论。也许这可以算作答案:

您的问题标记为mysql,但您没有清楚地说明所使用的编程语言;显然它是Java。AFAIK异步工作,即引擎在执行下一个语句之前不等待语句完成。在这种情况下,这意味着第二个DELETE语句(在samples表上)将在MySQL引擎完成DELETEing所有runs之前触发。在第一个回调中触发第二个DELETE将避免这个问题,或者任何其他同步这两个语句的方法。不知道你是怎么做到的,我不是Java程序员。其他人可能会在这方面帮助你。

票数 2
EN

Stack Overflow用户

发布于 2021-01-25 17:18:41

检查你的扳机OnDelete。您可能会尝试在删除后添加新记录,并得到一个键复制错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34121472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档