我正在尝试使用以下查询来防止重复发生,但它似乎无法正常工作。请问你能告诉我这是什么问题吗?
INSERT IGNORE INTO Following SET `followingUserID` = '$accountIDToFollow', `followerUserID` = '$accountID'
答案 0 :(得分:1)
INSERT IGNORE INTO
Following (`followingUserID`,`followerUserID`)
VALUE
('$accountIDToFollow','$accountID')
你在
之前做了一个UPDATE格式如果您正在尝试进行更新,这就是它的工作原理
更新followingUserID
组
followingUserID
='$ accountIDToFollow',
哪里
followerUserID
='$ accountID';
当然你想用你想做的正确条件替换be子句
答案 1 :(得分:1)
根据MYSQL文档,
如果使用IGNORE关键字,则会出错 执行INSERT时发生的情况 声明被视为警告 代替。例如,没有IGNORE, 一个复制现有的行 UNIQUE索引或PRIMARY KEY值 该表导致重复键错误 声明中止。同 IGNORE,行仍未插入, 但没有发出错误。
这意味着,IGNORE不会阻止任何记录重复。您必须在给定字段上添加唯一约束。