这是我的添加用户的查询,如果用户表中已存在同名用户,则拒绝他们:
insert into user values(?, ?, ?, ? ) select * from user
where NOT EXISTS(select * from user where user.username = ?);
答案 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)
为什么不将用户名定义为主键,如果它应该是唯一的?