Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Menambah Kunci Asing pada Jadual SQLite Sedia Ada?
Cabaran:
Anda sedang bekerja dengan jadual SQLite sedia ada , dan anda perlu menambah kekangan kunci asing pada sesuatu tertentu lajur.
Penyelesaian:
Tidak seperti pelaksanaan SQL yang lain, SQLite tidak menyokong varian TAMBAH KEKANGAN bagi perintah ALTER TABLE. Oleh itu, adalah tidak mungkin untuk menambah kekangan kunci asing secara langsung pada jadual sedia ada.
Pendekatan Alternatif:
Untuk mencapai hasil yang diingini, anda mesti mengikut langkah berikut:
Contoh SQL untuk ini proses:
-- 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;
Dengan melaksanakan langkah-langkah ini, anda pada asasnya mencipta jadual baharu dengan kekangan kunci asing yang dikehendaki semasa mengekalkan data daripada jadual asal.
Atas ialah kandungan terperinci Bagaimanakah Saya Menambah Kunci Asing pada Jadual SQLite Sedia Ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!