Votre base de données MySQL a été corrompue et le champ auto-incrémental a été désynchronisé. Pour résoudre ce problème, il suffit de mettre à jour la dernière valeur du champ auto-incrémentiel avec lequel la table a des problèmes :
alter table xxxxx Auto_increment = 1234;
Où “1234” est la valeur la plus élevée possible + 2. Vous pouvez obtenir cette valeur, par exemple, avec
select MAX(primary_key_field) FROM xxxxx;
Dans le SGF Pandora, la majorité des corruptions de table se produisent dans tagente_datos
, tagent_access
, tagente_datos_string
ou tevento
. Cela pourrait être un exemple de la façon de résoudre ce type de problème dans le tableau tagente_datos_string
:
mysql> select max(id_tagente_datos_string) from tagente_datos_string; +------------------------------+ | max(id_tagente_datos_string) | +------------------------------+ | 1900270 | +------------------------------+
alter table tagente_datos_string Auto_increment = 1900272;
Dans les clusters MySQL, ces problèmes sont liés à une mauvaise synchronisation entre les nœuds :
Si cela ne résout pas le problème, essayez d’utiliser ces paramètres dans le nœud SQL, en éditant le fichier my.cnf
:
ndb-autoincrement-prefetch-sz=1 auto_increment_increment=5 auto_increment_offset=5
Cela peut également se produire parce qu’une table a une clé primaire avec un incrément automatique qui a une très petite valeur limite maximale.
Par exemple: tsesion
est défini par défaut comme un nombre entier de 4 caractères int(4) ; cela peut être trop petit pour les grands systèmes ; pour y remédier, modifiez le champ pour qu’il puisse accueillir des nombres plus grands :
alter table tsesion modify ID_sesion bigint(20) unsigned;