Schritte zur Prüfung der Ursache
Überprüfen Sie den höchsten Wert des Primärschlüssels, indem Sie den folgenden Befehl am Terminal ausführen: SELECT MAX(value_id) FROM catalog_product_entity_int;
Wenn der max(value_id)
kleiner als der max int(11) [ 4294967296 ]
ist und der [ AUTO_INCREMENT ]
einen Wert größer oder gleich dem max int(11) [ 4294967296 ]
hat, Sie (den [ AUTO_INCREMENT ]
auf den nächsten Wert aus der Tabelle aktualisieren. Andernfalls sollten Sie eine INT
zur Aktualisierung BIGINT
Schemas.
Aktualisieren Sie die AUTO_INCREMENT
auf den nächsten Wert aus der Tabelle.
Wenn der angezeigte Wert kleiner als max int(11) [ 4294967296 ]
ist, wie in der folgenden Beispiel-Terminalausgabe gezeigt, dann hat sich eine [ AUTO_INCREMENT ]
in eine Zahl geändert, die größer oder gleich dem max [ int(11) ]
ist.
MariaDB [xxx]> SELECT MAX(value_id) FROM catalog_product_entity_int;
+---------------------+
| MAX(source_item_id) |
+---------------------+
| 4283174130 |
+---------------------+
Um zu überprüfen, ob dies geschehen ist, führen Sie den folgenden Befehl im Terminal aus:
MariaDB [xxx]> show create table catalog_product_entity_int;
...
) ENGINE=InnoDB AUTO_INCREMENT=4294967297 DEFAULT CHARSET=utf8 COMMENT='Catalog Product Integer Attribute Backend Table';
Wie Sie in der obigen Beispielausgabe sehen können, hat sich die Tabelle [ AUTO_INCREMENT ]
in eine größere Zahl geändert als die max int(11) [ 4294967296 ]
. Die Lösung besteht darin, die [ AUTO_INCREMENT]
auf den nächsten Wert aus der Tabelle zu aktualisieren:
ALTER TABLE catalog_product_entity_int AUTO_INCREMENT = 4283174131;