Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat SQLite 1555: Kekangan UNIK Gagal pada Persons.id?

Bagaimana untuk Menyelesaikan Ralat SQLite 1555: Kekangan UNIK Gagal pada Persons.id?

Linda Hamilton
Linda Hamiltonasal
2024-12-20 15:49:11515semak imbas

How to Resolve SQLite Error 1555: UNIQUE Constraint Failed on Persons.id?

SQLITE_CONSTRAINT_PRIMARYKEY: Kod Keputusan SQLite 1555 - Kekangan UNIK Gagal: Persons.id

Mesej ralat anda menunjukkan kekangan UNIK semasa pelanggaran memasukkan data pangkalan data SQLite anda. Secara khususnya, ini mencadangkan bahawa lajur id dalam jadual Orang sudah mengandungi nilai yang sama seperti yang anda cuba masukkan.

Dalam kod yang anda berikan, anda telah menetapkan lajur id sebagai kunci utama untuk kedua-dua jadual pengguna dan item, yang memastikan setiap baris mempunyai pengecam unik. Walau bagaimanapun, nampaknya anda mempunyai entri pendua sama ada dalam jadual pengguna atau item, mengakibatkan pelanggaran kekangan UNIK.

Untuk menyelesaikan isu ini, anda boleh sama ada:

  • Ubah suai penyata sisipan data: Pastikan setiap penyata sisipan termasuk nilai id unik untuk baris yang sepadan. Anda boleh menjana ID unik menggunakan fungsi seperti UUID(), RANDOM() (dengan versi SQLite >=3.9), atau dengan menggunakan lajur kunci utama yang meningkat secara automatik.
  • Gunakan INSERT OR ABAIKAN atau MASUKKAN ATAU GANTIKAN kenyataan: Pernyataan ini membolehkan anda memintas semakan kekangan UNIK. INSERT OR IGNORE akan mengabaikan entri pendua dan terus memasukkan rekod lain, manakala INSERT OR REPLACE akan menggantikan entri sedia ada dengan nilai baharu.

Berikut ialah contoh menggunakan INSERT OR IGNORE:

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat SQLite 1555: Kekangan UNIK Gagal pada 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