Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: JOIN VS multi-query

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: холивар моей печенки
tato
Отправлено: 08 Мая, 2012 - 10:39:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




Все доброго!
Есть у меня вот такой запрос:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. DELETE
  3.     `tsa_pages`,
  4.     `tsa_pages_details`,
  5.     `tsa_pages_images`
  6. FROM
  7.     `tsa_pages`,
  8.     `tsa_pages_details`,
  9.     `tsa_pages_images`
  10. WHERE
  11.     tsa_pages.KEY=:KEY
  12.         AND
  13.             tsa_pages_details.KEY=:KEY
  14.         AND
  15.             tsa_pages_images.KEY=:KEY
  16.  


Думаю про :key объяснять не надо, это для PDO'шного prepare.

В чем собственно проблемма, как видно из запроса, запись удалится, если в каждой из таблиц есть запись равная :key.
Так такой записи может и не существовать ( например картинок нет ), а следствие удаления не будет.

Теперь вопрос, строить один запрос на JOIN'ах или сделать несколько,
Учитывая, что удалять будет один человек и редко?

(Отредактировано автором: 08 Мая, 2012 - 10:50:04)



-----
просто ?: сложно
 
 Top
Мелкий Супермодератор
Отправлено: 08 Мая, 2012 - 19:12:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Если во всех 3 таблицах надо удалить записи по полю, имеющемуся в каждой таблице - лучше сделайте 3 delete. Незачем в этом случае джойнить таблицы.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB