2012-05-08 7 views
2

나는 Sqlite 파일에 놓아야 할 테이블을 가지고있다. 그들은 외래 키 제약 조건을 가지고있다. 테이블을 삭제할 올바른 순서를 어떻게 알 수 있습니까? 아니면 저를 위해 알아낼 "테이블 목록 삭제"명령이 있습니까? 그리고 SQL과 관련된 웹 검색에 "주문"을 추가하면 ORDER 키워드에 대한 정보를 반환하므로이 질문에 대한 도움을 얻으려면 웹에서 무엇을 검색해야합니까?어떻게하면 sqlite에서 테이블을 삭제할 올바른 순서를 알아낼 수 있습니까?

답변

1

테이블에 외래 키가 있으면 제약 조건으로 인해 외래 키를 소유 한 테이블을 삭제할 수 없습니다. "외래 키"는 단순히 다른 테이블의 기본 키이므로 "외래"입니다. 따라서 외래 키가있는 테이블을 먼저 삭제해야합니다. 그런 다음 다른 테이블을 삭제할 수 있습니다. 테이블을 삭제하면 해당 제약 조건도 삭제됩니다.

짐승 강제 것을 위해 당신은 사용 제한을 해제 할 수 있어야한다 :

PRAGMA foreign_keys = OFF; 
+0

글쎄, 난 그냥 임의의 순서로 외래 키를 가진 모든 테이블을 삭제할 수 없습니다; 그 중 일부는 다른 테이블에 foreign 인 기본 키를 포함합니다. – Brannon

+0

수정 된 답변에 표시된대로 제약 조건을 해제 해보십시오. – gview

관련 문제