php - 我怎样才能得到 WHERE id IN (...) 的反义词?

标签 php mysql

以下查询查找表 ids 并返回 id,例如找到 204720966837。
我的问题是如何做相反的事情?我想显示那些没有找到的id。

SELECT id FROM ids WHERE id IN  ('204720966837', '163700377960', '24583115900', '1081617368').

现在我将 204720966837 保存在 ids 中,这就是它打印的内容。我的目标是打印 163700377960、24583115900、1081617368

while($assoc = mysql_fetch_assoc($query)) {
    echo $assoc['id'];   
}

我已经尝试过 NOT IN,但得到的返回为零。

最佳答案

您可以使用临时表:

CREATE TEMPORARY TABLE temp_table (id int);

INSERT INTO temp_table(id) VALUES('204720966837'), ('163700377960'), ('24583115900'), ('1081617368');

SELECT id FROM temp_table WHERE id NOT IN(SELECT id FROM ids)

DROP TABLE temp_table;

关于php - 我怎样才能得到 WHERE id IN (...) 的反义词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9881673/

相关文章:

php - PDO MySQL语法错误'WHERE user_name ='testuser'

php - L5.6 - 数据透视表上的关系

mysql - Laravel 5.6 中的 Controller 继承

php - 为什么登录时mysql查询不匹配?

MySQL 连接器和服务器兼容性(VERSION.server 文件)

PHP:字符串不等于字符串

php - 如何在 cakePHP 中设置 session cookie 路径,同时仍将 session 数据保存在数据库中?

mysql - mysql中相同字段的查询

php - 开源网站代码

php - 在 Laravel 中填充具有多对多关系的表