如何检查数组中的哪些值在MySQL中?

时间:2012-05-16 00:08:03

标签: php mysql sql

我有一个值数组,我想检查它是否已经在数据库中。这个数组最多可以增加100个元素。检查它的最佳方法是什么?我应该提取所有表数据然后检查它吗?应该/我可以在1个SQL语句中执行此操作吗?如果是这样,怎么样?我正在使用PHP。

编辑:

我应该补充一点,我正在检查数据库中哪些是,所以我可以添加那些不在那里的那些。也许有比我想的更好的解决方案。

2 个答案:

答案 0 :(得分:4)

我假设PHP

$sql = "SELECT name FROM tablename WHERE name IN ('".implode("','", $array_of_names)."')";

答案 1 :(得分:1)

像这样动态创建一个语句:

select *
from table
where value in (3, 5, 8, 12, 17, (etc))

以您使用的任何语言生成数组中的值列表。