我想在进行 Web 服务调用之前检查数据库中已记录的记录。
这是我想象的查询的样子,我只是似乎无法弄清楚语法。
SELECT *
FROM (1,2,3,4) as temp_table
WHERE temp_table.id
LEFT JOIN table ON id IS NULL
有没有办法做到这一点?这样的查询叫什么?
我想将 id 列表传递给 mysql,并且希望它吐出数据库中尚未存在的 id?
Use:
SELECT x.id
FROM (SELECT @param_1 AS id
FROM DUAL
UNION ALL
SELECT @param_2
FROM DUAL
UNION ALL
SELECT @param_3
FROM DUAL
UNION ALL
SELECT @param_4
FROM DUAL) x
LEFT JOIN TABLE t ON t.id = x.id
WHERE x.id IS NULL
如果您需要支持不同数量的参数,您可以使用:
-
临时表填充并加入
-
MySQL 的准备语句动态构造 UNION ALL 语句
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)