小编Tho*_*mas的帖子

SQL:选择一个表中不存在的键

我有一张正常设置auto inc的桌子.IDS.某些行已被删除,因此ID列表可能如下所示:

(1,2,3,5,8 ......)

然后,从另一个源(编辑:另一个源=数据库中的NOT)我有这个数组:

(1,3,4,5,7,8)

我正在寻找一个可以在数据库上使用的查询来获取ID的列表:不在我所拥有的数组的表中.这将是:

(4,7)

这样的存在吗?我现在的解决方案是要么创建一个临时表,所以命令"WHERE table.id IS NULL"工作,或者可能更糟,使用PHP函数array_diff查看从表中检索所有id后丢失的内容.

由于id列表正在接近数百万或行,我渴望找到最佳解决方案.

谢谢!/托马斯

编辑2:

我的主要应用程序是一个相当简单的表,其中包含很多行.这个应用程序是使用浏览器管理的,我使用PHP作为代码的解释器.

此表中的所有内容都将导出到另一个系统(这是第三方产品),除了手动使用该程序中的导入功能之外,还没有办法执行此操作.也可以在另一个系统中插入新行,尽管商定的路由永远不会这样做.

问题是我的系统无法100%确定用户在按下"导出"键时所做的一切都是正确的.或者,在其他系统中没有创建任何行.

从另一个系统我可以得到一个CSV文件,其中包含系统所有的行.因此,通过比较CSV文件和我的表,我可以看到:*其他系统中是否有任何行应该导入*如果有人在其他系统中创建了行

问题不是"解决它".它是最好的解决方案,因为行中有太多数据.

再次感谢!

/托马斯

mysql sql select

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×1

select ×1

sql ×1