도전 과제:
기존 SQLite 테이블로 작업하고 있습니다. , 특정 항목에 외래 키 제약 조건을 추가해야 합니다.
해결책:
다른 SQL 구현과 달리 SQLite는 ALTER TABLE 명령의 ADD CONSTRAINT 변형을 지원하지 않습니다. 따라서 기존 테이블에 외래 키 제약 조건을 직접 추가하는 것은 불가능합니다.
대체 접근 방식:
원하는 결과를 얻으려면 다음 단계를 따라야 합니다.
이 프로세스에 대한 예제 SQL:
-- Step 1: Create a temporary table CREATE TEMPORARY TABLE t_child AS SELECT * FROM child; -- Step 2: Drop the existing table DROP TABLE child; -- Step 3: Recreate the table with the foreign key constraint CREATE TABLE child ( id INTEGER PRIMARY KEY, parent_id INTEGER, description TEXT, FOREIGN KEY (parent_id) REFERENCES parent(id) ); -- Step 4: Insert data back from the temporary table INSERT INTO child SELECT * FROM t_child;
다음을 실행하여 단계를 거치면 기본적으로 원본 테이블의 데이터를 보존하면서 원하는 외래 키 제약 조건을 사용하여 새 테이블을 생성할 수 있습니다.
위 내용은 기존 SQLite 테이블에 외래 키를 어떻게 추가합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!