Erstellen Sie einen Fremdschlüssel zur bestehenden SQLLite-Tabelle:
Für SQL LITE gibt es keine direkte Möglichkeit, dies zu tun. Führen Sie die folgende Abfrage aus, um die Tabelle STUDENTS mit Fremdschlüsseln neu zu erstellen. Führen Sie die Abfrage aus, nachdem Sie die ursprüngliche Tabelle STUDENTS erstellt und Daten in die Tabelle eingefügt haben.
CREATE TABLE STUDENTS (
STUDENT_ID INT NOT NULL,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
CITY VARCHAR(50) DEFAULT NULL,
BADGE_NO INT DEFAULT NULL
PRIMARY KEY(STUDENT_ID)
);
Fügen Sie Daten in die Tabelle STUDENTS ein.
Fügen Sie dann FOREIGN KEY hinzu: BADGE_NO wird zum Fremdschlüssel derselben Tabelle STUDENTS
BEGIN;
CREATE TABLE STUDENTS_new (
STUDENT_ID INT NOT NULL,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
CITY VARCHAR(50) DEFAULT NULL,
BADGE_NO INT DEFAULT NULL,
PRIMARY KEY(STUDENT_ID) ,
FOREIGN KEY(BADGE_NO) REFERENCES STUDENTS(STUDENT_ID)
);
INSERT INTO STUDENTS_new SELECT * FROM STUDENTS;
DROP TABLE STUDENTS;
ALTER TABLE STUDENTS_new RENAME TO STUDENTS;
COMMIT;
können wir den Fremdschlüssel auch aus jeder anderen Tabelle hinzufügen.