Heim > Datenbank > MySQL-Tutorial > Wie behebt man den SQLite-Fehler 1555: UNIQUE-Einschränkung für Persons.id fehlgeschlagen?

Wie behebt man den SQLite-Fehler 1555: UNIQUE-Einschränkung für Persons.id fehlgeschlagen?

Linda Hamilton
Freigeben: 2024-12-20 15:49:11
Original
470 Leute haben es durchsucht

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

SQLITE_CONSTRAINT_PRIMARYKEY: SQLite-Ergebniscode 1555 – UNIQUE-Einschränkung fehlgeschlagen: Persons.id

Ihre Fehlermeldung weist auf eine Verletzung der UNIQUE-Einschränkung beim Einfügen von Daten hin Ihre SQLite-Datenbank. Konkret deutet es darauf hin, dass die ID-Spalte in der Personentabelle bereits denselben Wert enthält wie der, den Sie einfügen möchten.

In Ihrem bereitgestellten Code haben Sie die ID-Spalte als Primärschlüssel für beide festgelegt Benutzer- und Artikeltabellen, wodurch sichergestellt wird, dass jede Zeile eine eindeutige Kennung hat. Es scheint jedoch, dass Sie doppelte Einträge in den Benutzer- oder Artikeltabellen haben, was zu einer Verletzung der UNIQUE-Einschränkung führt.

Um dieses Problem zu beheben, können Sie Folgendes tun:

  • Ändern Sie die Dateneinfügungsanweisungen: Stellen Sie sicher, dass jede Einfügungsanweisung einen eindeutigen ID-Wert für die entsprechende Zeile enthält. Sie können eindeutige IDs mithilfe von Funktionen wie UUID(), RANDOM() (mit SQLite-Version >=3.9) oder mithilfe einer automatisch inkrementierenden Primärschlüsselspalte generieren.
  • Verwenden Sie INSERT OR IGNORE oder INSERT- ODER REPLACE-Anweisungen: Mit diesen Anweisungen können Sie die UNIQUE-Einschränkungsprüfung umgehen. INSERT OR IGNORE ignoriert doppelte Einträge und fügt weiterhin andere Datensätze ein, während INSERT OR REPLACE vorhandene Einträge durch die neuen Werte ersetzt.

Hier ist ein Beispiel für die Verwendung von INSERT OR IGNORE:

Das obige ist der detaillierte Inhalt vonWie behebt man den SQLite-Fehler 1555: UNIQUE-Einschränkung für Persons.id fehlgeschlagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage