2012-04-14 4 views
0

SQLite (C# .NET 용)에 이와 동일한 기능을 수행하는 SQL 명령이 있습니까?SQLite의 모든 테이블에서 삭제

DELETE * FROM * WHERE id='idnumber'

+0

가능한 복제본 [Sqlite : 모든 데이터베이스 테이블을 어떻게 재설정합니까?] (http://stackoverflow.com/questions/3600075/sqlite-how-do-i-reset-all-database-tables) –

+0

@juergend 이 질문은 모든 테이블의 모든 레코드가 아닌 모든 테이블에서 단일 레코드를 삭제하는 것입니다. – CJxD

+0

그렇지 않습니다. 그것은 그것과 같은 것이 아닙니다. 투표를하기 전에 질문을 읽으십시오. –

답변

2

아니, 거기 아니다.

한 가지 방법은 개별 delete 문, 테이블 당 하나의 일련의 다른 스크립트를 작성 -query metadata tables에 약간의 스크립트를 작성하는 것입니다.

예는 (모든 테이블은 ID 열을했다 가정) 수 :

select 'delete from ' || name || ' where ID = 42' 
from sqlite_master 
where type = 'table' 

이 당신이 다음 캡처 스크립트로 실행할 수있는 각 테이블에 대해 delete 문을 생성합니다.

//You can do it with the following DANGEROUS commands: 

PRAGMA writable_schema = 1; 
delete from sqlite_master where type = 'table'; 
PRAGMA writable_schema = 0; 



//you then want to recover the deleted space with 
VACUUM 

//and a good test to make sure everything is ok 
PRAGMA INTEGRITY_CHECK; 

가 당신을 위해 도움이 될 것입니다 희망 :

는하지만 일반적으로 그것을 시도 사용할 수있는 데이터베이스 개발자가

+0

나는 이름을 안다. 그러나 나는 많은 테이블 = P를 가지고있다. 어쨌든,이 '작은 스크립트'는 어떻게 이루어 집니까? – CJxD

+0

@CJxD, 나는 좋은 출발점이되어야 할 약간의 스 니펫을 추가했다. 테스트되지 않았지만 아이디어를 얻어야합니다. – paxdiablo

+2

꽤 dodgy 보인다, 나는 그것을 좋아한다! – CJxD

-1

:-) 자신의 테이블의 이름을 알 수있는 것이 좋습니다.

+2

그건 테이블을 지울거야, 네? OP는 모든 테이블에서 일치하는 ID가있는 모든 행을 삭제하려고한다고 생각합니다. 그래서 유용하지 않을 수도 있습니다 :-) – paxdiablo

+0

이 블로그입니까? http://myratnest.blogspot.com/2010/08/want-to-delete-all-tables-in-sqlite.html –

+0

또는 귀하의 답변은 무엇입니까? http://stackoverflow.com/questions/525512/drop-all-tables-command –