表a
Rowid Msgid Userid
1 3 55
2 3 56
3 3 57
4 4 55
5 4 56
表组
RowID GroupID UseriD
1 2 55
2 2 56
3 2 57
4 2 58
5 2 59
6 2 60
7 3 60
8 3 55
这里有一个表a
和group
表。 Rowid主键
我想在表格
中插入行此查询
在表a中插入行,即msgid 3已经有55 56 57所以它必须只插入58 59 60.
Insert into
table a (msgid,Userid)
values(@msgid,@userid)
where userid not in table a
where tbl_a.msgid=3
and tbl_group.groupid = 2
对于Msgid 3,我想检查表a中是否有任何组成员(groupID 2),如果没有,则向其添加一行。 即添加到表格
rowid Msgid Userid
6 3 58
7 3 59
8 3 60
所以我不会插入用户ID 55,56,57,因为它已经在msgid 3的表中了。如何查询这个场景
答案 0 :(得分:0)
尝试以下代码
Insert IGNORE into
table a (msgid,Userid)
values(@msgid,@userid)
where userid not in table a
where tbl_a.msgid=3
and tbl_group.groupid = 2
我正在考虑你的插入查询是正确的......
祝你好运!!!
答案 1 :(得分:0)
实际上非常简单:
INSERT INTO TABLE_GROUP
SELECT * FROM TABLE_A
WHERE ... -- you can have or not have a where clause as you like
ON DUPLICATE KEY UPDATE;