Frage

Ich wurde von einem Freund gesagt:

  

Was eindeutige Schlüssel verwenden Sie? ich hoffe du   nicht die gesamten Benutzername zu speichern   --- dies wird zu viel Tabellenbereich aufbrauchen! ein eindeutigen Benutzer-ID zu jedem zuweisen   (Unique) Benutzernamen und diese Benutzer-ID speichern   (Sollte INTEGER UNSIGNED sein   auto_increment oder BIGINT UNSIGNED   auto_increment). Vergessen Sie nicht,   Erstellen Sie einen Verweis

     

FOREIGN KEY (userID) LITERATUR   usertable (userID) in allen Tabellen   mit der Benutzer-ID.

Ist die obige Aussage richtig? Warum oder warum nicht?

War es hilfreich?

Lösung

Ich glaube, er (aus dem falschen Grund) richtig ist, weil Primärschlüssel nicht ändern kann, aber username kann sich ändern. So sollten Sie userid verwenden, weil es nicht ändern würde.

Andere Tipps

Er ist die richtige für den falschen Gründen. Der Tabellenbereich ist sekundär auf die Tatsache, dass Ihre App später Mandat könnte, dass Benutzernamen geändert werden kann oder sogar stoppen einzigartig zu sein (man könnte eine Anwendung vorstellen, wo eindeutige Benutzernamen werden nicht wie Stack-Überlauf erforderlich,) und damit Ihre App großen Refactoring und müssten Datenmigration statt einer leichten Veränderung in dem anderen (integer PK) Fall.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top