Синтаксическая ошибка MySql; Удаление из двух таблиц в одном запросе возможно? - PullRequest
0 голосов
/ 04 июня 2010

Разве невозможно выполнить два удаления в одном запросе, разделяя их точкой с запятой?

Вот мой запрос:

$query="DELETE FROM $sql_table
WHERE EXISTS 
    (
    SELECT 1
    FROM classified
    WHERE classified.poster_password = '$pass'
    AND classified.ad_id = '$id'
    AND classified.classified_id = $sql_table.classified_id
    );
DELETE FROM classified
WHERE classified.poster_password = '$pass'
AND classified.ad_id = '$id'";

Это дает эту ошибку:

У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с «УДАЛИТЬ ИЗ КЛАССИФИЦИРОВАННОГО, ГДЕ классифицирован.

Пожалуйста, помогите мне решить эту проблему, у меня начинает болеть голова. Мне это нужно в одном запросе ...

Спасибо

Ответы [ 3 ]

1 голос
/ 04 июня 2010

Вы не упомянули, какую функцию PHP вы используете для отправки этого в MySQL. MySQLi multi_query может справиться с этим.

1 голос
/ 04 июня 2010

вы можете построить tmth вот так

DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
1 голос
/ 04 июня 2010

Посмотрите на транзакции

Использование транзакций MySQL

BEGIN

COMMIT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...