MySql语法错误;可以从一个查询中的两个表中删除吗?

时间:2010-06-04 12:22:11

标签: php sql mysql html database

通过用分号分隔,是否无法在一个查询中执行两次删除?

这是我的问题:

$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服务器版本对应的手册,以便在第10行“DELETE FROM classified WHERE classified.poster_password ='xxxxxxx'附近使用正确的语法

请帮我解决这个,它开始让我头疼。我在一个查询中需要它......

由于

3 个答案:

答案 0 :(得分:1)

查看交易

Using MySQL Transactions

BEGIN

COMMIT

答案 1 :(得分:1)

您没有提到您使用哪个PHP函数将其提交给MySQL。 MySQLi的multi_query可以解决这个问题。

答案 2 :(得分:1)

你可以像这样建立tmth

DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id