2011-04-21 4 views
1

cols (url, title, desc, ...) 테이블과 cols (fav_url, thumb)로 테이블 FAVORITE가 있습니다.delete 내포 된 쿼리에 가입

내가 사용하여 두 테이블에서 행을 삭제하려고하면

delete from video join favorite on video.url=favorite.fav_url 
    where url in (select url from video where title like '%thumb%') 

내가 오류가 발생합니다.

하나의 쿼리를 실행하는이 작업을 수행하는 방법은 무엇입니까?

답변

1

편집는이 지금

실제로 캔트 당신이처럼 당신이 하위 쿼리가있을 때 DELETE 이러한 유형의 쿼리를 DO보십시오. 자세히 설명하는이 기사를 읽으십시오.

MySQL Error 1093 - Can't specify target table for update in FROM clause

DELETE video, favorite 
    FROM video 
    JOIN favorite 
     ON video.url = favorite.fav_url 
    JOIN (SELECT DISTINCT url 
        FROM video 
        WHERE title like '%thumb%') tt ON video.url = tt.url 
+0

# 1093 - FROM 절의 업데이트 대상 테이블 'V'를 지정할 수 없습니다. –

+0

WHAT THE THE THE THE? 위의 정확한 코드를 사용 했습니까? 같은 시간에 Query 창에 아무 것도 없었습니까? 나는 쿼리를 거의 동일하게 작성했으며 전혀 오류가 없습니다. –

+0

똑같은 하나 .. –

2

시도 :

DELETE t1, t2 FROM video t1 JOIN favorite t2 ON t1.url=t2.fav_url 
WHERE url IN 
    (SELECT url FROM (SELECT * FROM video) t3 WHERE title LIKE '%thumb%') 
+0

# 1093 - 당신은 daniel.tosaba @ 절 –

+0

에서 업데이트 대상 테이블 'T1'을 지정할 수 없습니다 : 감사, 고정. –

관련 문제