我有两张table。第一个是 messages
第二个是 room
. msg_id
从 messages
表与 id
从 room
table。我要做的是选择所有 msg_id
对于他们中的每一个,我想运行一个查询,删除他们的id与msg\u id不匹配的所有房间:
我的代码:
$result = mysql_query("SELECT `msg_id` FROM `messages`");
while($row = mysql_fetch_array( $result )) {
$me = $row[0]; //$me as a string
$int = (int)$me;//transform $me's value to int
$result2 = mysql_query("DELETE FROM `room` WHERE `id` NOT LIKE '%" . $int . "%'");}
这个 $result2
查询将从文件室表中删除所有条目,无论 $int
变量。这意味着支票无效。如果我改变主意 $result2
对此,即:
$result2 = mysql_query("DELETE FROM `room` WHERE `id` NOT LIKE '%86%'");
所有条目都将被删除,但带有 id = 86
(工作正常)
基本的计划是我必须把所有的 room
与他们的 id
与 msg_id
.
3条答案
按热度按时间ruyhziif1#
尝试此查询,
如果对你不起作用,你可以试试
NOT EQUAL TO
查询rlcwz9us2#
如果无法使用子查询,可以尝试:
请不要使用mysql\u查询它已被弃用
dluptydi3#
你能用一个子查询吗?
DELETE FROM ROOM WHERE id not in(SELECT msg_id FROM messages);