Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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 插入不带“的内容”;在;或;“存在”;_Mysql_Sql - Fatal编程技术网

Mysql 插入不带“的内容”;在;或;“存在”;

Mysql 插入不带“的内容”;在;或;“存在”;,mysql,sql,Mysql,Sql,我有一个名为UserGroups的表,它由“USER\u ID”和“GROUP\u ID”组成,后者是“用户表”中的主键 一个用户可以属于多个组 但是,我的查询是尝试将一个用户(id为“1”)放入该用户尚未加入的所有组中。规则是不要使用“IN”或“Exists”子句 我试着做一个insert语句,但我无论如何都想不出在不使用“IN”或“EXISTS”子句的情况下进行插入 sqlserver的一种解决方案 INSERT INTO UserGroups (UserID, GroupID) SEL

我有一个名为UserGroups的表,它由“
USER\u ID
”和“
GROUP\u ID
”组成,后者是“
用户表
”中的主键

  • 一个用户可以属于多个组
但是,我的查询是尝试将一个用户(id为“1”)放入该用户尚未加入的所有组中。规则是不要使用“IN”或“Exists”子句

我试着做一个insert语句,但我无论如何都想不出在不使用“IN”或“EXISTS”子句的情况下进行插入


sqlserver的一种解决方案

INSERT INTO UserGroups (UserID, GroupID)
SELECT 1, GroupID
FROM Groups
EXCEPT
SELECT UserID, GroupID
FROM UserGroups
我认为是甲骨文

INSERT INTO UserGroups (UserID, GroupID)
SELECT 1, GroupID
FROM Groups
MINUS
SELECT UserID, GroupID
FROM UserGroups
和MySQL

INSERT INTO UserGroups (UserID, GroupID)
SELECT 1, GroupID
FROM Groups
WHERE GroupID NOT IN (SELECT GroupID FROM UserGroups WHERE UserID = 1)

INSERT INTO UserGroups (UserID, GroupID)
SELECT 1, GroupID
FROM Groups
LEFT JOIN UserGroups 
ON UserGroups.GroupID = Groups.GroupID
AND UserGroups.UserID = 1
WHERE UserGroup.GroupID IS NULL

mysql
sqlserver
plsql
都是特定于供应商且相互排斥的。您实际使用的是哪个数据库?mysql是我正在使用的数据库。我向艾伦道歉
INSERT INTO UserGroups (UserID, GroupID)
SELECT 1, GroupID
FROM Groups
WHERE GroupID NOT IN (SELECT GroupID FROM UserGroups WHERE UserID = 1)
INSERT INTO UserGroups (UserID, GroupID)
SELECT 1, GroupID
FROM Groups
LEFT JOIN UserGroups 
ON UserGroups.GroupID = Groups.GroupID
AND UserGroups.UserID = 1
WHERE UserGroup.GroupID IS NULL