如何在这个MySQL示例中防止重复条目?

时间:2015-05-07 17:14:33

标签: mysql sql

我试图避免重复的用户条目,基于昵称值,但我无法理解我读过的有关主键和类似内容的文档,这是正确的方法?

我是否可以在IF声明中使用SELECT进行操作?

这是我的疑问:

mysql_query("INSERT INTO users (name,nickname,token,secret) values ('$name','$nickname','$token','$secret')"); ?>

2 个答案:

答案 0 :(得分:1)

您应该创建一个唯一索引:

ALTER TABLE users ADD UNIQUE INDEX (nickname);

这将阻止您添加重复值。

答案 1 :(得分:0)

这种通用方法与RDBMS无关。

insert into table
(field1, field2, etc0
select distinct value1, value2, etc
from someSmallTable
where not exists
(subquery to check for existing records)