Синхронное удаление из 3-х таблиц

Raul

Новичок
Синхронное удаление из 3-х таблиц

Усть таблицы:
user // поле id – PRIMARY
user_detail // поле id – PRIMARY, но может и не быть записи с id=user.id
user_top // поле id – неуникальное, может быть несколько, а может и не быть записи с id=user.id

При этих условиях это:
Код:
DELETE t1,t2,t3 
FROM  ‘user’ as t1, ‘user_detail’ as t2, ‘user_top’ as t3  
WHERE t1.id='number' AND t2.id=t1.id AND t3.id=t1.id
понятно, не катит…

Что-нибудь разумнее чем:
Код:
DELETE FROM ‘user’ WHERE id='number'
if (‘удалено’){
    DELETE FROM ‘user_detail’ WHERE id='number'
    DELETE FROM ‘user_top’ WHERE id='number'
}
посоветуйте, плз…
 

Andreika

"PHP for nubies" reader
понятно, не катит…
дык и ежу понятно, что не катит - перед FROM таблицы не пишут..
а полный синтаксис DELETE, в т.ч. с несколькими таблицами - в мануале
 

Raul

Новичок
Автор оригинала: Andreika
дык и ежу понятно, что не катит - перед FROM таблицы не пишут..
а полный синтаксис DELETE, в т.ч. с несколькими таблицами - в мануале
Из мануала:
DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
Но не катит не поэтому...

vasa_c
Так хочется по-взрослому...
 

MD

Guest
Raul
DELETE FROM
LEFT JOIN
WHERE

для более глубокого изучения, пройдите в мануал.
 

Andreika

"PHP for nubies" reader
Raul
а почему не катит тогда? не вижу препятствий... ошибку какую выдает или что?
 

Raul

Новичок
Автор оригинала: Andreika
а почему не катит тогда? не вижу препятствий... ошибку какую выдает или что?
Для тех условий, которые приведены, запрос неправильный :(
Он работает когда во всех трех есть 'number'
Автор оригинала: MD
LEFT JOIN

для более глубокого изучения, пройдите в мануал.
Оп-па...
Спасибо, полез...

-~{}~ 26.04.06 15:34:

Автор оригинала: MD
DELETE FROM
LEFT JOIN
WHERE
для более глубокого изучения, пройдите в мануал.
Не пускает:
You have an error in your SQL syntax... 'LEFT JOIN...'

mysql ver. 4.1.18
Или не там искал?
 

Raul

Новичок
MD
Спасибо, помогло.
(Вот ведь что /en/ делает...)
Спасибо...
 
Сверху