Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan 'kekangan UNIK gagal: kod hasil sqlite3 1555' Ralat dalam SQLite?

Bagaimana untuk Menyelesaikan 'kekangan UNIK gagal: kod hasil sqlite3 1555' Ralat dalam SQLite?

Barbara Streisand
Lepaskan: 2024-12-25 15:22:18
asal
191 orang telah melayarinya

How to Resolve

Cara Menangani Ralat Gagal Kekangan UNIK dalam SQLite

Isu:

Apabila memasukkan data ke dalam pangkalan data SQLite anda, anda terima ralat "Kekangan UNIK gagal: kod hasil sqlite3 1555."

Penjelasan:

Ralat ini berlaku apabila anda cuba memasukkan data dengan nilai kunci utama yang sudah wujud dalam jadual. Secara lalai, SQLite menguatkuasakan kekangan unik pada lajur kunci utama untuk mengelakkan entri pendua.

Penyelesaian:

Terdapat dua penyelesaian utama untuk mengendalikan ralat ini:

1. Abaikan Rekod Pendua:

Untuk mengabaikan rekod pendua dan terus memasukkan data lain, gunakan sintaks berikut:

INSERT OR IGNORE INTO (column1, column2, ...) VALUES (value1, value2, ...);
Salin selepas log masuk

2. Gantikan Rekod Sedia Ada:

Untuk menggantikan rekod sedia ada dengan data baharu, gunakan sintaks berikut:

INSERT OR REPLACE INTO (column1, column2, ...) VALUES (value1, value2, ...);
Salin selepas log masuk

Contoh:

Dalam kod yang anda berikan, anda sedang memasukkan nilai list_id pendua dalam jadual senarai dan nilai item_id pendua dalam jadual item. Untuk mengendalikan ralat ini, anda boleh menggunakan kod yang diubah suai berikut:

Senarai yang diubah suai Sisipkan Pernyataan:

INSERT OR IGNORE INTO list VALUES (1, "user1-list1", 1);
INSERT OR IGNORE INTO list VALUES (2, "user1-list2", 1);
INSERT OR IGNORE INTO list VALUES (3, "user1-list3", 1);
INSERT OR IGNORE INTO list VALUES (1, "user2-list1", 2);
INSERT OR IGNORE INTO list VALUES (1, "user3-list1", 3);
INSERT OR IGNORE INTO list VALUES (2, "user3-list2", 3);
Salin selepas log masuk

Item yang diubah suai Sisipkan Pernyataan:

INSERT OR IGNORE INTO item VALUES (1, "user1-list1-item1", "FALSE", 1);
INSERT OR IGNORE INTO item VALUES (2, "user1-list1-item2", "FALSE", 1);
INSERT OR IGNORE INTO item VALUES (1, "user1-list2-item1", "FALSE", 2);
INSERT OR IGNORE INTO item VALUES (1, "user1-list3-item1", "FALSE", 3);
INSERT OR IGNORE INTO item VALUES (2, "user1-list3-item2", "FALSE", 3);
INSERT OR IGNORE INTO item VALUES (1, "user2-list1-item1", "FALSE", 1);
INSERT OR IGNORE INTO item VALUES (2, "user2-list1-item1", "FALSE", 1);
INSERT OR IGNORE INTO item VALUES (1, "user3-list1-item1", "FALSE", 1);
INSERT OR IGNORE INTO item VALUES (1, "user3-list3-item1", "FALSE", 2);
Salin selepas log masuk

Dengan menggunakan sama ada INSERT OR IGNORE atau INSERT OR REPLACE sintaks, anda boleh menyelesaikan ralat gagal kekangan UNIK dan memasukkan data anda seperti yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'kekangan UNIK gagal: kod hasil sqlite3 1555' Ralat dalam SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan