我有一张如下所示的表;查找未列在数组数组中的SQL表中的ID号
id header
1 fruit
4 header_example
9 test
13 money
我然后有一个数组,用于含有每个ID的,但我删除一个。我现在例如,有一个数组,看起来像这样:
array = [1, 9, 13]
我怎么会看那个阵列,并确定与ID = 4的行应该被删除?
谢谢!
我有一张如下所示的表;查找未列在数组数组中的SQL表中的ID号
id header
1 fruit
4 header_example
9 test
13 money
我然后有一个数组,用于含有每个ID的,但我删除一个。我现在例如,有一个数组,看起来像这样:
array = [1, 9, 13]
我怎么会看那个阵列,并确定与ID = 4的行应该被删除?
谢谢!
在MySQL的一面,你可以只运行它,使用PHP来输出数组内容到IN子句:
DELETE FROM table WHERE id NOT IN (<array contents>)
在PHP端,你可以生成相应内容:
' . implode(', ', $arr) . '
谢谢!这工作完美。 – mriksman
$arr = array(1, 9, 11);
$query = 'DELETE FROM tbl WHERE id NOT IN (' . implode(', ', $arr) . ')';
mysql_query($query);
$sql = 'DELETE FROM table WHERE id not in ('.implode(',', $array).')';
你可以挂钩删除数组元素,并简单地记住你拔出哪个ID?列出的解决方案工作得很好,但成千上万的ID变得繁琐,并且可能会超过“值列表”限制,并带有数以万计的ID。 – pilcrow
@pilcrow在我的情况下,我只会有4个数组元素来看待。 – mriksman