2012-04-18 4 views
1

MySQL 쿼리에 문제가 있습니다. "ID"라는 테이블에 필드가 있습니다. 특정 ID가 없으면 해당 테이블의 모든 행을 삭제하는 쿼리를 원합니다. 쿼리에서 ID가 2 이상인 ID를 더 많이 정의 할 수 있어야합니다.MySQL 삭제 쿼리

아이디어가 있으십니까?

답변

2
DELETE 
FROM yourTable 
WHERE yourID NOT IN (1,2,3,4) -- place your list here 

또는 당신이 당신의 ID를 나열하지 않으려의 당신 보관하고 싶습니다 :

DELETE 
FROM yourTable 
WHERE yourID NOT IN (SELECT * FROM yourTable WHERE ...) 
3
DELETE FROM your_table 
WHERE id NOT IN (1,2,3) 
1
delete from your_table where id not in (1, 2, 4) 
1

이 쿼리를 시도해야합니다 : 당신이 식별자의 목록을 포함 할 하위 쿼리를 사용할 수

DELETE FROM tablename WHERE ID NOT IN ('1','2','3'); 
1

이 작업을해야합니다

delete from TABLE_NAME where id not in (1,2,3,4,5,6) 

of (1,2,3,4,5 ...)는 저장하려는 ID의 목록입니다.

1

또한 몇 가지 추가 조건이를 사용할 수 있습니다

delete from your_table_name where id not in (select id from your_table_name where necessary=false)