什么不存在带插入的sql

时间:2014-05-08 13:22:42

标签: mysql sql database mysqli

"INSERT INTO friend(`uId`,`friendId`) VALUES (?,?)
WHERE NOT EXISTS (SELECT uId,friendId FROM friend WHERE uId=? && friendId=?)"

stmt->bind_param('ssss',$uId,$friendId,$uId,friendId);

我的sql是否正确?我想检查一个记录是否存在使用WHERE NOT EXISTS,然后只有在它没有的情况下插入它。

我gt这个错误:致命错误:在非对象i上调用成员函数bind_param()

1 个答案:

答案 0 :(得分:0)

我不知道数据是什么样的,但你会做这样的插入......

INSERT INTO friend_One (`uId`,`friendId`) 
SELECT f.uId,f.friendId 
FROM friend f
WHERE NOT EXISTS (SELECT 1
                  FROM  friend_One
                  WHERE uId= f.Uid 
                  AND friendId= f.friendId)

通常,您要检查记录存在的表格与您选择的表格不同。这里的查询,因为它没有多大意义。但我想这只是一个演示查询。