Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 不存在插入到中的sql的位置_Mysql_Sql - Fatal编程技术网

Mysql 不存在插入到中的sql的位置

Mysql 不存在插入到中的sql的位置,mysql,sql,Mysql,Sql,我的sql正确吗?我想用WHERE NOT EXISTS检查一条记录是否存在,如果不存在,则只插入其中。我不知道数据是什么样的,但您可以这样做 INSERT INTO friend(`uId`,`friendId`) VALUES (?,?) WHERE NOT EXISTS (SELECT uId,friendId FROM friend WHERE uId=? && friendId=? 通常,检查记录是否存在的表与从中选择的表不同。在这里,这个问题没有多大意义。但我猜这只

我的sql正确吗?我想用WHERE NOT EXISTS检查一条记录是否存在,如果不存在,则只插入其中。

我不知道数据是什么样的,但您可以这样做

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

通常,检查记录是否存在的表与从中选择的表不同。在这里,这个问题没有多大意义。但我猜这只是一个演示查询。

值在哪里?您不使用values子句,其中使用Select语句插入数据,Select语句返回的结果集将为insert语句提供值。@是否留下注释?倒数第二句除外,这个答案是“对”的对立面。@草莓你想再详细说明一下“对”的对立面是什么?为什么你需要先检查一下?线索:你没有@因为我不想弄乱我复杂的表:p解决方案是在(uid,friendid)上添加一个唯一的索引,然后您可以使用INSERT IGNORE或INSERT…UPDATE on DUPLICATEKEY@StrawberryfriendId必须有重复的记录,所以我不能这样做friendId可以,但(id,friendId)不能。所以你可以而且必须这样做!
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)