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