|
|
|
|
|
для: ДЕМЫЧ
(13.11.2008 в 16:57)
| | Ну раз пошли таким путем, то тогда желательно оптимизировать запросы
<?php
$query = mysql_query("SELECT `object_id` FROM `NO` group by `object_id` "); //зачем нам потом повторные записи в цикле гонять
while($a=mysql_fetch_array($query))
{
$prov = mysql_query("SELECT `id` FROM `YES` WHERE `obj_id`='".$a['object_id']."' LIMIT 1"); //id - уникальное поле, индексное
if($prov==NULL) //зачем вызывать функцию, когда можно просто сравнить с NULL
{
mysql_query("DELETE FROM `NO` WHERE `object_id`='".$a['object_id']."'");
}
}
?>
|
| |
|
|
|
|
|
|
|
для: ДЕМЫЧ
(13.11.2008 в 16:57)
| | Как все гениально и просто! Спасибо большое =)! | |
|
|
|
|
автор: ДЕМЫЧ (13.11.2008 в 16:57) |
|
|
для: JIexa777
(12.11.2008 в 23:06)
| | Немного не понял вопроса... То есть если в таблице NO есть какая-то запись, а в таблице YES записи с таким object_id нету, то уалить?
<?php
$query = mysql_query("SELECT * FROM `NO`");
while($a=mysql_fetch_array($query))
{
$prov = mysql_query("SELECT * FROM `YES` WHERE `obj_id`='".$a['object_id']."'");
if(mysql_num_rows($prov)==0)
{
mysql_query("DELETE FROM `NO` WHERE `object_id`='".$a['object_id']."'");
}
}
?>
|
Вроде так (если я правильноп понялу словие)... Хотя наверное это можно было и решить только оин SQL-запросом, он не могу придумтаь как имено :) | |
|
|
|
|
|
|
| Всем привет, только начал изучать PhP, и во сталкнулся с такой проблемой - существует база MySQL, в которой есть 2 таблицы: YES и NO, в этих таблицах есть столбик - obj_id и object_id. Мне нужно удалить из таблицы NO все строчки, в том случае если не существует такого числа в object_id таблицы NO, которое существует в obj_id таблицы YES . Буду очень признателен за помощь! | |
|
|
|
|