2010-06-04 3 views
0

하나의 쿼리에서 두 개의 삭제를 세미콜론으로 분리하여 수행 할 수 있습니까? 이이 오류 준다MySql 구문 오류입니다. 한 쿼리에서 두 테이블을 삭제할 수 있습니까?

$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 서버 버전에 해당하는 매뉴얼을 확인하십시오. 'DELETE FROM classified where classified.poster_password ='xxxxxxx 'on line 10

이 문제를 해결할 수 있도록 도와주세요. 두통. 나는 거래

Using MySQL Transactions

BEGIN 

COMMIT 
+1

'는 mysql_query처럼 tmth 구축 할 수 있습니다()'만 1 쿼리를 취할 수 있습니다. – zerkms

+0

"한 가지 질문이 필요합니다 ..."- 자세히 설명해주십시오. mysqli_multi_query() 같은 것을 사용할 수 있습니까? – VolkerK

+0

왜 하나의 쿼리에서이 것이 필요합니까? 트랜잭션에 저장되지 않으므로 절대적으로 의미가 없으므로 두 번째 쿼리가 실패하더라도 첫 번째 쿼리가 실행됩니다. – 2ndkauboy

답변

1

당신은 MySQL로이 제출 사용하는 PHP 함수를 언급하지 않았다 한 번 봐 ... 한 쿼리에서

감사

1

를 필요 . MySQLi의 multi_query이 처리 할 수 ​​있습니다. 당신이 사용중인 경우

1

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

좀 더 명확히하기 위해 삭제하려는 레코드가 표시 될 SELECT를 만든 다음 FROM 및 이후의 모든 항목을 유지하면서 "DELETE 테이블"로 "SELECT 필드"를 전환하십시오. DELETE 바로 다음에있는 테이블의 레코드 만 삭제됩니다. –

+0

나는 그런 생각으로 당신이 훨씬 더 쉽고 & 더 잘할 수 있다고 생각할 수있는 길을주고있었습니다. – GOsha

관련 문제