我有一个包含大约 2000 行的 Excel 工作表,我想将其插入到数据库中。
问题是我想要插入 2.000 行的表有一列引用了另一个表中的外键。不幸的是,许多查询失败,因为提供的外键值不存在。
我知道我可以忽略外键检查,但这不是我想要的。我不想忽略外键检查,我只是希望不执行错误的查询。
Example:
INSERT INTO test (id, value) VALUES (10, 20);
INSERT INTO test (id, value) VALUES (20, 20);
第一次查询失败,因为TEST.id
参考foobar.id
并且没有foobar.id = 10.
但是,第二个查询会起作用,因为foobar.id = 20
存在,但第二个查询不会执行,因为第一个查询已经失败。
有什么方法可以让我在第一个查询中不会出现错误,而其他查询仍将被执行?
我可以编写一个 php 脚本,但我更喜欢这里的 MySQL 解决方案。
您可以更改以插入选择的结果,例如:
INSERT INTO test (id, value)
SELECT foobar.id, 20
FROM foobar WHERE id = 10;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)