반응형

MYSQL에서 자신의 테이블를 조건으로 해서 데이터를 삭제할 경우..

You can't specify target table 'xxx' for update in FROM clause

이런 메세지가 나온다..

delete from whatnew where regist_id = 1 and whatnew_id != (select whatnew_id from whatnew where regist_id = 1 order by last_modified desc limit 1);

아무리 봐도.. 에러가 없는데...

메뉴얼을 보니... 자기자신을 조건으로 해서 삭제하면.. 안된단다...

뭔.. 이런..;;;;

암튼... 서브커리로 해서 밑에껏 처럼.. 감싸주면... 실행이 된다는거..

delete from whatnew where regist_id = 1 and whatnew_id != ( select x.whatnew_id from (select w.whatnew_id from whatnew w where w.regist_id = 1 order by w.last_modified desc limit 1) x )

혹시나. 이런것에 막히시는 분들.. 도움 많이 되시길~
반응형

+ Recent posts