키 부모 삭제하면 아이의 키는 삭제되지 않습니다나는 다음과 같은 SQLite는을 통해 데이터베이스를 만든
내가 이런 books
로 불리는 테이블을 만들었을 :
CREATE TABLE books (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "title-book" TEXT, witer TEXT, comment TEXT, "intro-img" TEXT, "avalable-count" integer, "total-count" integer, "publisher-id" INTEGER REFERENCES publisher (id) ON DELETE CASCADE ON UPDATE CASCADE, "category-id" INTEGER REFERENCES categories (id) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY ("publisher-id") REFERENCES publisher (id) ON DELETE CASCADE ON UPDATE CASCADE);
나는 그때 카테고리 제거하지 않았다는 것을 포함 아이 키 행을 가진 책 테이블을보고 그들이 있었다으로 followi처럼 존재하는 책 category-id
에 대한 부모의 키가 범주를 삭제하면 NG 사진 :
검사보다 최신 3.6.9 및 사용이 외래 키가 있습니다. 또한 "PRAGMA foreign_keys"명령은 지원되는 경우 "데이터 없음"대신 0 또는 1을 반환해야합니다. 에 대한 자세한 정보 : https://sqlite.org/foreignkeys.html – LordNeo
나는이 코드를 시도 : PRAGMA foreign_keys; 그리고 그것은 0을 반환하고, 나는이 코드를 사용한다 : PRAGMA foreign_keys = ON; 확실히 그것이 가능하다는 것을 의미합니다 –
0은 지원되지만, (기본적으로) 비활성화됨을 의미하므로,이를 활성화하고 다시 테스트하십시오. 또한, 각 연결에 대해서도 이것을 활성화시켜야합니다.'외래 키 제약 조건은 기본적으로 (하위 호환성을 위해) 비활성화되어 있으므로 각 데이터베이스 연결마다 별도로 활성화해야합니다. ' – LordNeo