我有一个 MySQL 数据库,我想将一些值插入到一个表中,假设我插入的特定值与另一表中的值不匹配。
这是一个简化/示例结构:
Table: invites
id : int (auto-increment index)
name : varchar
message : varchar
Table: donotinvite
name : varchar (index)
假设“名称”与“donotinvite”表中的任何“名称”不匹配,是否可以使用单个语句将“名称”和“消息”对有条件插入到“邀请”表中?
也许是这样的?
INSERT INTO invites
SET name = 'joe', message = 'This is an invite'
WHERE NOT EXISTS
(SELECT name
FROM donotinvite
WHERE name = 'joe')
INSERT
INTO invites (name, message)
SELECT a.name, a.message
FROM (SELECT @name AS name, @message AS message) a
LEFT JOIN donotinvite d
ON a.name = d.name
WHERE d.name IS NULL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)