J'ai une table avec environ 30 millions de lignes dans MySQL 5.5 à l'aide du moteur de stockage Innodb. Cette table a une clé étrangère qui relie une autre table avec environ 3 millions de rangées.
Je veux ajouter une clé primaire à la table la plus grande, mais je ne suis pas sûr de la meilleure façon d'y aller. Il n'y a pas de colonne (ou de colonnes) existante que je peux utiliser pour cela, alors comment devrais-je y aller?
J'ai vu des références à un ID d'enregistrement INNODB interne, mais je n'ai pas trouvé si cela est accessible.
Sinon, peut-être que je devrai jeter et recharger les données, en ajoutant l'identifiant manuellement.
Merci.
cela peut être la mauvaise façon d'y aller, mais ..
ne pouviez-vous pas simplement modifier la structure de la table,
ajouter une colonne de clé primaire à la table
ensuite...
écrivez un script rapide pour traverser toute la table
ajout d'une valeur d'autocramentage à la nouvelle colonne?
Voici comment je voudrais aborder ceci:
* Remarque: Si la table d'origine est innodub, des contraintes de clé étrangère seront maintenues et survivent au renommage. Donc, vous devrez faire une modification pour remédier à cela.