首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库中不存在的输入列表中选择id

从数据库中不存在的输入列表中选择id
EN

Stack Overflow用户
提问于 2021-03-26 15:15:51
回答 1查看 39关注 0票数 0

使用MySql vers 8.0:

代码语言:javascript
复制
CREATE TABLE cnacs(cid VARCHAR(20), PRIMARY KEY(cid));

然后,

代码语言:javascript
复制
INSERT INTO cnacs VALUES('1');

前两个语句成功执行。然而,下一次声明没有。我的目标是从输入表1,2中返回一个未使用的cid列表

代码语言:javascript
复制
SELECT * FROM (VALUES ('1'),('2')) as T(cid) EXCEPT SELECT cid FROM cnacs;

理论上,我希望输出是'2',因为它还没有被添加。上述查询的灵感来自于Remus在https://dba.stackexchange.com/questions/37627/identifying-which-values-do-not-match-a-table-row上的回答

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-26 15:36:14

这至少是您要做的事情的正确语法。

如果这个查询不是一个学习练习,那么我会重新考虑这个方法,将这些'1‘和'2’值存储在它们自己的表中(不管有多少值)。

代码语言:javascript
复制
SELECT Column_0
  FROM (SELECT * FROM (VALUES ROW('1'), ROW('2')) TMP) VALS
  LEFT
  JOIN cnacs
    ON VALS.Column_0 = cnacs.cid
 WHERE cnacs.cid IS NULL
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66819635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档