6 Stimmen

Tabellenindex von Int in Bigint umwandeln MySQL

Ich habe ein kleines webbasiertes Experiment mit Facebook UIDs durchgeführt, um eindeutige Benutzer zu verifizieren.

Kürzlich habe ich entdeckt, dass UIDs bei einigen Benutzern größer sein können, als ich dachte, so dass mein int-basiertes System jetzt unzureichend ist und ich zu bigint konvertieren muss.

Ich kann nicht riskieren, die Ergebnisse zu verlieren, die ich bereits habe, muss aber die Tabelle konvertieren, so dass der Index, der die uid enthält, jetzt bigint ist. Gibt es irgendwelche besonderen Probleme beim Ändern des Typs einer Indexspalte, und wäre es so einfach wie:

ALTER TABLE breadusers MODIFY userid bigint;

?

3voto

John Parker Punkte 53226

Theoretisch sollte dies absolut in Ordnung sein, obwohl die Daten vraiment Ich gehe davon aus, dass Sie ohnehin ein aktuelles Backup haben, falls etwas schief geht.

Abgesehen davon wäre ich wahrscheinlich versucht, die Facebook-UID als String zu speichern (d.h.: in einer VARCHAR Feld) und haben einfach ein generisches, automatisch erhöhtes ID-Feld. Aber das ist eine Antwort auf eine andere Frage :-)

0voto

Faizan Noor Punkte 748

Für die Facebook UID Teil, würde ich Ihnen empfehlen, sich für BIGINT(64) . Hier ist die Antwort von Facebook Blog: https://developers.facebook.com/blog/post/45/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X