以下查询查找表 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/