Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Если "несуществует", то "удалить"

Сообщения:  [1-4] 

 
 автор: speedsoft   (15.11.2008 в 00:59)   письмо автору
 
   для: ДЕМЫЧ   (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']."'");
  }
}

?> 

  Ответить  
 
 автор: JIexa777   (13.11.2008 в 23:41)   письмо автору
 
   для: ДЕМЫЧ   (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-запросом, он не могу придумтаь как имено :)

  Ответить  
 
 автор: JIexa777   (12.11.2008 в 23:06)   письмо автору
 
 

Всем привет, только начал изучать PhP, и во сталкнулся с такой проблемой - существует база MySQL, в которой есть 2 таблицы: YES и NO, в этих таблицах есть столбик - obj_id и object_id. Мне нужно удалить из таблицы NO все строчки, в том случае если не существует такого числа в object_id таблицы NO, которое существует в obj_id таблицы YES . Буду очень признателен за помощь!

  Ответить  

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования