Php SQL插入跳过项

Php SQL插入跳过项,php,mysql,sql,insert,constraints,Php,Mysql,Sql,Insert,Constraints,我有一个针对PHP/MySQL的SQL查询和以下问题: INSERT INTO UserConnected(UID1, UID2) VALUES ('1','2'),('1','3'),('1','4'); 所以问题是,如果有一个UID2用户在UserAccounts中不可用(来自UserConnected到UserAccount的外键),整个查询将中断,而不会插入任何内容 因此,假设某个reaseon用户4已经被删除,执行此查询是因为ID来自任何其他来源(比如facebook或谷歌),它将尝

我有一个针对PHP/MySQL的SQL查询和以下问题:

INSERT INTO UserConnected(UID1, UID2) VALUES ('1','2'),('1','3'),('1','4');
所以问题是,如果有一个UID2用户在UserAccounts中不可用(来自UserConnected到UserAccount的外键),整个查询将中断,而不会插入任何内容

因此,假设某个reaseon用户4已经被删除,执行此查询是因为ID来自任何其他来源(比如facebook或谷歌),它将尝试插入,但无法插入,因为用户不可用

有没有一种方法可以说,如果key失败,在不进行多次查询/调用的情况下,不要插入并继续下一个元素。我更愿意在一个查询中这样做

多谢各位!致以最良好的祝愿

INSERT IGNORE INTO UserConnected(UID1, UID2) VALUES ('1','2'),('1','3')('1','4');
上一个值集中缺少逗号


您的上一个值集中缺少逗号

,因为除了
MySQL
之外,您还将其标记为
SQL
。我想指出,此语法是特定于
MySQL
的,并且不是标准的
SQL
,因此,如果您希望将来移植数据库,请小心。谢谢您的快速回答。IGNORE UNFORTUALY不起作用:#1452-无法添加或更新子行:外键约束失败(Database.UserConnected,约束UID2_ibfk_2外键(UID2)在更新级联时在删除级联时引用UserAccount(UID))当我手动删除不可用用户的insert值时,它会起作用,但查询将是动态的,我需要一种方法来插入所有可用的用户帐户并跳过未知的帐户。因为除了
MySQL
之外,您还将其标记为
SQL
,所以我想指出,此语法是
MySQL
特定的,并且不是标准
SQL
因此,如果您将来想移植数据库,请小心。谢谢您的快速回答。IGNORE UNFORTUALY不起作用:#1452-无法添加或更新子行:外键约束失败(Database.UserConnected,约束UID2_ibfk_2外键(UID2)在更新级联时在删除级联时引用UserAccount(UID))当我手动删除不可用用户的插入值时,它会起作用,但查询将是动态的,我需要一种插入所有可用用户帐户并跳过未知帐户的方法。请尝试此操作并让我知道谢谢您的快速回答。忽略不起作用:#1452-无法添加或更新子行:外键约束失败(
数据库
,约束
UID2\u ibfk\u 2
外键(
UID2
)引用
UserAccount
UID
)删除级联更新级联)当我删除不可用的usernp的InserValue时,它就可以工作了,如果它修复了的话,就是这样。但是还有其他方法吗。查询是动态的,如果它与不再可用的用户一起构建一个查询,它将无法工作。例如,我使用Facebook登录获取用户的所有好友,并将论文保存在我的数据库中。Facebook API为我提供了所有以某种方式安装该应用程序的用户帐户。如果一个用户从数据库中被删除,但没有从他的facebook帐户中删除该应用程序,它将发回他的ID,查询将尝试插入该ID。如果有一种方式可以说,忽略该元素的插入,如果不可能,继续下一步,它将非常好地工作。请尝试这个,让我知道谢谢您的快速回答。忽略不起作用:#1452-无法添加或更新子行:外键约束失败(
数据库
,约束
UID2\u ibfk\u 2
外键(
UID2
)引用
UserAccount
UID
)删除级联更新级联)当我删除不可用的usernp的InserValue时,它就可以工作了,如果它修复了的话,就是这样。但是还有其他方法吗。查询是动态的,如果它与不再可用的用户一起构建一个查询,它将无法工作。例如,我使用Facebook登录获取用户的所有好友,并将论文保存在我的数据库中。Facebook API为我提供了所有以某种方式安装该应用程序的用户帐户。如果一个用户从数据库中被删除,但没有从他的facebook帐户中删除该应用程序,它将发回他的ID,查询将尝试插入该ID。若有一种方法可以说,若不可能,那个么忽略该元素的insert,然后继续下一步,它将非常好地工作
INSERT INTO UserConnected(UID1, UID2) VALUES ('1','2'),('1','3'),('1','4');