MySql如何防止重复进入数据库

时间:2012-12-03 11:47:21

标签: mysql

  

可能重复:
  Best way to avoid duplicate entry into mysql database

这是我的添加用户的查询,如果用户表中已存在同名用户,则拒绝他们:

insert into  user values(?, ?, ?, ? ) select * from user 
where NOT EXISTS(select * from user where user.username = ?);

3 个答案:

答案 0 :(得分:1)

只需使用INSERT IGNORE即可。如果唯一列中存在重复项,则不会发生任何事情。

答案 1 :(得分:1)

我猜你的意思是相同的用户名,因为名字可以是相同的。

所以尝试使用它并查看

     INSERT INTO  user (column1, column2, column3,...)
     VALUES  (value1, value2, value3,...)
     WHERE NOT EXISTS(
     SELECT username FROM user)

如果您的意思是名称,只需用用户名替换名称

答案 2 :(得分:0)

为什么不将用户名定义为主键,如果它应该是唯一的?