如果字段中不存在特定值,如何插入记录
INSERT INTO `users` (fb_id, username)
SELECT '.$id_signed_in.', '.$user_signed_in.' FROM `users`
WHERE NOT EXISTS (SELECT * FROM `users`
WHERE fb_id='.$id_signed_in.')
LIMIT 1'
这似乎不起作用
答案 0 :(得分:1)
请试试这个,
INSERT INTO `users` (fb_id, username)
SELECT '.$id_signed_in.', '.$user_signed_in.' FROM `users`
WHERE fb_id NOT IN(SELECT fb_id FROM `users`
WHERE fb_id='.$id_signed_in.')
LIMIT 1'
答案 1 :(得分:0)
简单方法:
如果您希望某个字段是唯一的,请将其设置为唯一,并删除重复的条目(如果存在)。
您可以使用
insert ignore into users (fb_id, username) values ('$id_signed_in','$user_signed_in')
在这里,您必须将fb_id设置为唯一,以防止重复输入。如果db中不存在fb_id,它只会插入。
另一种不使用ignore的方法,唯一:
$res = mysql_query("select id from users where fb_id='$id_signed_in'");
if(!(mysql_num_rows($res)>0)){
mysql_query("insert into users (fb_id, username) values ('$id_signed_in','$user_signed_in')");
}