Frage

Ich habe eine MySQL InnoDB -Tabelle mit 'ID' als automatische Inkrement -Primärschlüsselspalte.

Meine Skripte erfolgen folgende Operationen:

  1. Ignorieren in TableName Set x = 'a', y = 'B'
  2. Update ignorieren tableName set x = 'a', y = 'b' wobei id = 'smthing'
  3. Löschen Sie aus dem Table, wobei id = 'smthing'

Nachdem ich das Skript ausgeführt habe, wenn ich etwas manuell einfügt (in TableName Set x = 'ax', y = 'Bx' einfügen), erhalte ich den folgenden Fehler:

Duplicate Entry for Auto Increment Value. 

Bei Check sehe ich, dass die automatische Inkrements versucht, den höchstmöglichen Wert von int zu setzen, den MySQL als neuer Wert unterstützen und bereits in DB existiert.

Die Tabelle enthält zwei Index: ID+X, ID+Y durch IDK, wenn dies mit diesem Problem zusammenhängt.

War es hilfreich?

Lösung

Ich erreichte den maximalen möglichen Wert einer Int -Spalte. Problem behoben, indem die Tabelle geändert und große int als int festgelegt wird.

Die signierte Reichweite von Midint ist –8388608 bis 8388607. Der nicht signierte Bereich beträgt 0 bis 16777215

Bezug: http://help.scibit.com/mascon/masconmysql_field_types.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top