看起来下面的MySQL INSERT IGNORE INTO
语句被MySQL服务器拒绝,基于参考完整性约束,在其中一行中反弹其中一个值,而另一行完全正常。
示例:
INSERT IGNORE INTO table1 (field1, field2) VALUES
('val11', 'val12'),
('val21', 'val22');
使用参照完整性约束将field2绑定到table2。
在 table2 中找到 val12 。 在 table2 中找到 val22 NOT 。
当运行这样的语句时,根本没有插入任何行,而实际上,我期望第一行被接受,即使第二行被拒绝,因为没有满足引用。
对我来说,解决方法是将语句拆分为两个INSERT IGNORE INTO
,
但出于性能原因,我不想这样做。
有没有办法让该声明做到最好,而不是完全拒绝错误?