recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Erreur 1062 : entrée en double '4294967295' pour la clé 'PRIMARY'

Les données dans ma base de données ne contiennent que des centaines de milliers d'entrées. La clé primaire est int 11. Ensuite, j'ai pu l'insérer avant, mais maintenant j'obtiendrai cette erreur
Veuillez répondre

.
漂亮男人漂亮男人2724 Il y a quelques jours1105

répondre à tous(3)je répondrai

  • ringa_lee

    ringa_lee2017-06-17 09:17:21

    Clarifions d’abord quelques concepts

    1. La taille finale de la valeur stockée dans int(11) et int(3) est la même. Le 3 et le 11 sont la longueur du nombre lorsqu'il est affiché sur le terminal et n'ont rien à voir avec la taille et la longueur de. le numéro enregistré

    2. Avec 110 000 données, votre clé primaire ne doit pas être la taille du pas plus 1, sinon votre identifiant ne peut pas commencer par incrémenter 0.

    3. La personne ci-dessus a expliqué clairement la raison, en disant que la valeur de la clé primaire est dupliquée. Ensuite, allez dans la base de données pour trouver cet enregistrement d'abord, puis regardez les données de plus de 100 000, pourquoi la clé primaire est 4294967295

    4. .
    5. 2 à la puissance 32 = 4294967296 (non signé), signé puis divisé par 2, il y a un nombre négatif de plus que le nombre positif, -2147483648~+2147483647 type int non signé 4294967296 valeur maximale

    répondre
    0
  • 世界只因有你

    世界只因有你2017-06-17 09:17:21

    Il s'agit d'une clé en double, essayez ceci, son fonctionnement n'est pas garanti...
    étape 1 : sélectionnez max (votre champ de clé_primaire) dans votre_nom_de_table ;
    étape 2 : ALTER TABLE votre_nom_de_table AUTO_INCREMENT = value_u_got_from_step1 + 1 ;

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-17 09:17:21

    L'incrémentation automatique de l'identifiant a atteint la limite supérieure. Si vous insérez à nouveau des données, vous ne pouvez insérer que cette valeur d'identifiant, il y aura donc un conflit. Changez-la simplement en type bigint. Des centaines de milliers de données s'incrémenteront automatiquement. cette valeur. Vous devez vérifier vos règles d'auto-incrémentation et votre logique métier, sinon la limite sera atteinte très rapidement à votre vitesse

    .

    répondre
    0
  • Annulerrépondre