我想在进行Web服务调用之前检查数据库中是否已记录的记录.
这是我想像的查询形式,我似乎无法弄清楚语法.
SELECT * FROM (1,2,3,4) as temp_table WHERE temp_table.ID left JOIN table ON ID IS NulL
有没有办法做到这一点?这样的查询是什么?
我想将ID的列表传递给MysqL,并希望它吐出数据库中尚未存在的ID?
最佳答案为了确认我已正确理解,您想传递一个数字列表,看看现有表中不存在哪些数字?有效:SELECT ItemFROM IDList I left JOIN table T ON I.Item=T.IDWHERE T.ID IS NulL
您似乎可以随时建立此查询,在这种情况下,可以通过将上面的代码更改为
SELECT NumberFROM (SELECT Number FROM Numbers WHERE Number IN (1,4)) I left JOIN table T ON I.Number=T.IDWHERE T.ID IS NulL
尽管由于查询的构建方式,这相对容易受到sql Injection攻击.如果可以将“ 1、2、3、4”作为字符串传递并将其拆分为多个部分以生成数字列表以更安全的方式加入,则更好-有关如何执行此 *** 作的示例,请参见http://www.sqlteam.com/article/parsing-csv-values-into-multiple-rows
所有这些假设都假设您的数据库中有一个数字/理算表,但是它们通常非常有用,因此我强烈建议您这样做.
总结以上是内存溢出为你收集整理的SQL从查询中的数据中选择数据库中尚未存在的数据? 全部内容,希望文章能够帮你解决SQL从查询中的数据中选择数据库中尚未存在的数据? 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)