0
,其數額巨大的查詢會像取決於不等於
DELETE FROM `members` WHERE `membership` = 'C' AND (`id` != '1' AND `id` !='2' AND ...... thousands of ids);
我可怎麼辦,這個問題如何刪除巨大MySQL的行?
我也在那裏id
NOT IN(「1」,「2」);但也沒有工作
我可以使用循環或類似的東西
,我想保留,不刪除的ID來自另一個表中包含字段保存,我不希望用戶ID刪除我用PHP腳本來幫我生成SQL查詢
像
<?php
require_once("inc.php");
$realty_uids = $db->query("SELECT `uid` from `realty2` ORDER BY `uid`");
$r = $db->fetch_assoc($realty_uids);
while($r = $db->fetch_assoc($realty_uids)){
$array[] = $r['uid'];
}
$input = array_unique($array);
echo "DELETE from `members` WHERE `membership` = 'C' ";
foreach($input as $key => $value){
echo " AND `id` != '".$value."' <br>";
}
echo ";";
定義「沒有工作」。此外爲什麼使用字符串的整數,或爲什麼使用一個單一的價值? –
ID從哪裏來?您可以使用子查詢將ID提供給delete子句。或使用刪除連接。如果ID的列表來自其他地方,您可以考慮使用文本編輯器來執行一些字符串操作以生成「IN(...)」語句 – Origin
您可以提供更多的上下文嗎?你顯然知道你不想刪除哪個ID,你是如何確定的?你能不能以此爲基礎查詢? – andrew