Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens l'erreur « SQLITE_CONSTRAINT_PRIMARYKEY : code de résultat sqlite3 1555 : Échec de la contrainte UNIQUE : Personnes.id » ?

Pourquoi est-ce que j'obtiens l'erreur « SQLITE_CONSTRAINT_PRIMARYKEY : code de résultat sqlite3 1555 : Échec de la contrainte UNIQUE : Personnes.id » ?

Linda Hamilton
Libérer: 2024-12-22 21:13:48
original
381 Les gens l'ont consulté

Why am I getting the

SQLITE_CONSTRAINT_PRIMARYKEY : code de résultat sqlite3 1555 : échec de la contrainte UNIQUE : Persons.id

L'erreur "SQLITE_CONSTRAINT_PRIMARYKEY : code de résultat sqlite3 1555 : contrainte UNIQUE échec : Persons.id" indique qu'un la contrainte d'unicité a été violée, empêchant les données d'être insérées dans la base de données. Dans votre cas, l'erreur se produit lorsque vous essayez d'insérer des données dans les tables "liste" et "élément".

Raison de l'erreur :

La "liste " La table a une clé primaire définie sur la colonne "list_id", ce qui signifie que chaque ligne de la table doit avoir une valeur "list_id" unique. De même, la table "item" a une clé primaire sur la colonne "item_id".

Lorsque vous avez tenté d'insérer des enregistrements dans les tables "list" et "item", certains des "list_id" et "item_id " les valeurs insérées n'étaient pas uniques. Cela a violé la contrainte UNIQUE, entraînant l'erreur.

Solution :

Pour résoudre ce problème, vous devez vous assurer que les valeurs "list_id" et "item_id" insérés sont uniques. Vous pouvez y parvenir en :

  • Générer automatiquement des valeurs uniques : Utilisez des clés primaires à incrémentation automatique ou un générateur d'ID unique pour générer automatiquement des valeurs uniques pour "list_id" et "item_id " colonnes lors de l'insertion.
  • Assurer manuellement l'unicité :Avant d'insérer des données, vérifiez si les valeurs "list_id" ou "item_id" existent déjà dans leurs tables respectives. Si tel est le cas, générez une nouvelle valeur unique et utilisez-la à la place.
  • Mise à jour des données existantes : Si les enregistrements que vous essayez d'insérer sont des doublons d'enregistrements existants, envisagez plutôt de mettre à jour les enregistrements existants. d'en insérer de nouveaux.

Une fois que vous vous êtes assuré que les valeurs "list_id" et "item_id" sont uniques, l'insertion des données doit réussir sans l'erreur de contrainte unique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal