我有一張如下所示的表;查找未列在數組數組中的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