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

Форум MySQL

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

 

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

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

тема: помогите переделать SELECT в DELETE

Сообщения:  [1-10]   [11-13] 

 
 автор: Trianon   (26.01.2010 в 12:47)   письмо автору
 
   для: sl1p   (26.01.2010 в 11:40)
 

>Я мануал смотрел, но так ничего так не нашёл( ну или не понял мб)..

и ни одного вопроса по непонятому не задали.

>..видел про LEFT JOIN и т.д., но как его применить так и не понял..

эта штука - формула из нескольких таблиц, соединенных цепочкой операций JOIN-ON, называется - табличным выражением. А на английском - table_reference . И в синтаксисе оно присутствует, просто определяется в разделе SELECT ( а может - JOIN )

>Я всегда сначала лезу в мануал.. и не просто чтобы совесть успокоить, а действительно за ответом..
>То что я там не нахожу ответа уже отдельная тема :)

Так а на что народ? Так а я на что?
Нешто я не отвечу, если вопрос по непонятке какой будет, а не потому что "не работает"?
Собственно, камень не в Ваш персональный огород, просто случай так сказать классический.

  Ответить  
 
 автор: sl1p   (26.01.2010 в 11:40)   письмо автору
 
   для: Trianon   (26.01.2010 в 11:37)
 

Я мануал смотрел, но так ничего так не нашёл( ну или не понял мб)..
..видел про LEFT JOIN и т.д., но как его применить так и не понял..

Я всегда сначала лезу в мануал.. и не просто чтобы совесть успокоить, а действительно за ответом..
То что я там не нахожу ответа уже отдельная тема :)

  Ответить  
 
 автор: Trianon   (26.01.2010 в 11:37)   письмо автору
 
   для: sl1p   (26.01.2010 в 11:18)
 

пожалуйста...

вот это удручает больше всего.
Решил не заглядывать в мануал перед вопросом, вдруг не пойму...
Спросил... получил ответ. Не уверен, правильно ли понял - возник интерес не "что значит тот или иной фрагмент кода", а "заработает ли вот так".
Интерес возник - в мануал с проверкой не полез, вдруг не пойму.
- опыт решил не ставить, вдруг получится, а выйдет неправильно.
- лучше спросить.

А если неправильно ответят?
Я ж тоже ошибаться умею.

  Ответить  
 
 автор: sl1p   (26.01.2010 в 11:18)   письмо автору
 
   для: Trianon   (26.01.2010 в 11:14)
 

получается, решил переспросить, вдруг что-то не так:)
не всегда правильно что получается :)
спасибо Вам большое(как обычно:)!

  Ответить  
 
 автор: Trianon   (26.01.2010 в 11:14)   письмо автору
 
   для: sl1p   (26.01.2010 в 11:09)
 

>вот так?

[сочувственно]
не получается?

  Ответить  
 
 автор: sl1p   (26.01.2010 в 11:09)   письмо автору
 
   для: Trianon   (26.01.2010 в 10:59)
 

да с селектом я дэбчик, согласен))

вот так?

DELETE a, b
FROM blocks a
LEFT JOIN blocks_content b ON a.id = b.id_block
WHERE a.type = 1 AND b.content = {$id}

  Ответить  
 
 автор: Trianon   (26.01.2010 в 10:59)   письмо автору
 
   для: sl1p   (26.01.2010 в 10:00)
 

>просто удалить 2 строки из blocks и blocks_content

Ньюансы касаются ситуаций, когда в таблицах не находится соответствия, и решают вопрос, а показывать/удалять ли строку в таблице, которая не прикреплена к строке в другой таблице?

Таки да INNER, LEFT, RIGHT вид JOINа
и размещение доп.условий - в WHERE или в ON .

А удаление достигается заменой первой строки
SELECT *
на строку
DELETE список_таблиц
(из которых удаляются строки)

  Ответить  
 
 автор: sl1p   (26.01.2010 в 10:00)   письмо автору
 
   для: Trianon   (26.01.2010 в 09:23)
 

.

  Ответить  
 
 автор: sl1p   (26.01.2010 в 10:00)   письмо автору
 
   для: Trianon   (26.01.2010 в 09:23)
 

ну да можно и так если подходит..

просто удалить 2 строки из blocks и blocks_content


а от каких нюансов?
смотря куда присоединять(RIGHT, INNER) или как?)

так чтото не получается :[
            SELECT *
            FROM
                blocks a
            LEFT JOIN blocks_content b ON a.id = b.id_block
            WHERE
                a.type = 1 AND
                b.content = 7 # deleted topic

  Ответить  
 
 автор: Trianon   (26.01.2010 в 09:23)   письмо автору
 
   для: sl1p   (26.01.2010 в 03:06)
 

a LEFT JOIN b ON a.id = b.id_block или как-то так.
Вот от этих ньюансов и зависит какие строки в конечном итоге будете удалять.

  Ответить  

Сообщения:  [1-10]   [11-13] 

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

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