MySQL忽略不起作用

时间:2011-06-05 18:46:30

标签: php mysql ignore no-duplicates

我正在尝试使用以下查询来防止重复发生,但它似乎无法正常工作。请问你能告诉我这是什么问题吗?

INSERT IGNORE INTO Following SET `followingUserID` = '$accountIDToFollow', `followerUserID` = '$accountID'

2 个答案:

答案 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不会阻止任何记录重复。您必须在给定字段上添加唯一约束。