gpt4 book ai didi

grails - 在grails中插入数据作为外键约束

转载 作者:行者123 更新时间:2023-12-02 14:45:34 26 4
gpt4 key购买 nike

继续reading-from-XML-and-storing-the-values-in-database-using-grails的帖子

我面临着另一个问题。由于员工 id 作为外键与其他表相关,因此我假设如何将数据插入数据库而不发生冲突,我想在 grails 代码中添加什么以避免下面显示的错误。

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Cannot add or update a child rowL a foreign key constraint fails.. ( CONSTRAINT 'EMPLOYEE_ID_HEADER' FOREIGN KEY ('EMPLOYEE_ID') REFERENCES 'employee_header'('employee_id'))



这里employee_id 是一列,employee_header 是一个单独的表,其中包含employee_id 作为外键。

最佳答案

最后我得到了答案,当您在数据库中插入值时,相关的外键表最初会受到影响。所以为了处理这种情况,我们必须首先插入外键相关表,然后我们需要准确添加的表。

作为引用,起初我给出了这样的代码
sql.executeInsert("insert into order_item (order_id,product_id,order_item_seq_id) values (${order_id},${product_id},${order_item_seq_id})")sql.executeInsert("insert into product(product_id) values(${product_id})")
这首先插入 order_item表然后是外键约束表product ,所以没有插入数据。所以正确的代码是
sql.executeInsert("insert into order_header(order_id) values(${order_id})")sql.executeInsert("insert into product(product_id) values(${product_id})")sql.executeInsert("insert into order_item (order_id,product_id,order_item_seq_id) values (${order_id},${product_id},${order_item_seq_id})")
现在这将成功插入数据而没有错误。

关于grails - 在grails中插入数据作为外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12066926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com