在SQL表中查找未在数字数组中列出的ID号

时间:2011-10-27 00:39:53

标签: php mysql arrays

我的表格如下所示;

id     header
1      fruit
4      header_example
9      test
13     money

然后我有一个使用的数组来包含每个id,但我删除了一个。我现在例如,有一个看起来像这样的数组:

array = [1, 9, 13]

我如何查看该数组,并确定应删除id = 4的行?

谢谢!

3 个答案:

答案 0 :(得分:2)

在MySQL方面,你可以运行它,使用php将数组内容输出到IN子句中:

DELETE FROM table WHERE id NOT IN ( <array contents> )

在PHP方面,您可以生成适当的内容:

' . implode(', ', $arr) . '

答案 1 :(得分:2)

$arr = array(1, 9, 11);
$query = 'DELETE FROM tbl WHERE id NOT IN (' . implode(', ', $arr) . ')';
mysql_query($query);

答案 2 :(得分:2)

$sql = 'DELETE FROM table WHERE id not in ('.implode(',', $array).')';