Rumah >pangkalan data >tutorial mysql >Mengapakah saya mendapat ralat 'SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: Persons.id'?

Mengapakah saya mendapat ralat 'SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: Persons.id'?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 21:13:48333semak imbas

Why am I getting the

SQLITE_CONSTRAINT_PRIMARYKEY: kod hasil sqlite3 1555: Kekangan UNIK gagal: Persons.id

Ralat "hasil SQLITE_CONSTRAINT35: UNIK_CONSTRAINT5: 1 kekangan gagal: Persons.id" menunjukkan bahawa kekangan unik telah dilanggar, menghalang data daripada dimasukkan ke dalam pangkalan data. Dalam kes anda, ralat berlaku apabila cuba memasukkan data ke dalam jadual "senarai" dan "item".

Sebab Ralat:

Senarai " " jadual mempunyai kunci utama yang ditakrifkan pada lajur "list_id", yang bermaksud bahawa setiap baris dalam jadual mesti mempunyai nilai "list_id" yang unik. Begitu juga, jadual "item" mempunyai kunci utama pada lajur "item_id".

Apabila anda cuba memasukkan rekod ke dalam jadual "senarai" dan "item", beberapa "id_senarai" dan "item_id" " nilai yang dimasukkan bukanlah unik. Ini melanggar kekangan UNIK, mengakibatkan ralat.

Penyelesaian:

Untuk menyelesaikan isu ini, anda perlu memastikan bahawa nilai "list_id" dan "item_id" yang dimasukkan adalah unik. Anda boleh mencapai ini dengan:

  • Menjana Nilai Unik Secara Automatik: Gunakan kunci utama penambahan automatik atau penjana ID unik untuk menjana nilai unik secara automatik untuk "list_id" dan "item_id " lajur pada sisipan.
  • Memastikan Keunikan Secara Manual: Sebelum memasukkan data, semak sama ada nilai "list_id" atau "item_id" sudah wujud dalam jadual masing-masing. Jika ada, jana nilai unik baharu dan gunakan nilai itu.
  • Mengemas kini Data Sedia Ada: Jika rekod yang anda cuba masukkan ialah pendua rekod sedia ada, pertimbangkan untuk mengemas kini rekod sedia ada. daripada memasukkan yang baharu.

Setelah anda memastikan bahawa "list_id" dan "item_id" nilai adalah unik, sisipan data sepatutnya berjaya tanpa ralat kekangan unik.

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat 'SQLITE_CONSTRAINT_PRIMARYKEY: sqlite3 result code 1555: UNIQUE constraint failed: Persons.id'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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