Ich habe eine UUID-Zeichenfolge, die ich als Primärschlüssel für MySQL-Tabellen verwenden möchte, die UUID ist eine hexadezimale Zeichenfolge mit 32 Zeichen (nachdem die Zeichen "-" entfernt wurden). Aufgrund der Tatsache, dass es besser ist, eine numerische Spalte (int) als Primärschlüssel in einer Datenbank zu verwenden, möchte ich dies in eine Ganzzahl umwandeln, bin mir aber nicht sicher, wie ich damit umgehen soll.
Ich könnte darüber nachdenken, alles falsch, und bin nicht gegen das Lesen von Dokumentation, so dass entweder Beispiele oder vorgeschlagene Lesung als Antwort akzeptabel wäre.
In den meisten Fällen ist es am besten, UUIDs / GUIDs als BINARY(16)
zu speichern. Sehen Sie sich diese verwandten StackOverflow-Fragen an:
Die Konvertierung kann (und sollte wahrscheinlich) in MySQL statt in PHP erfolgen, also spielt es keine Rolle, ob Sie einen 32bit PHP Client oder 64Bits verwenden (Wortspiel: P)
Verwenden Sie einen String-Typ, keine Ganzzahl. Besser ist nur besser wenn es ein Problem löst.
Wenn Ihnen die Suchgeschwindigkeit wirklich Sorgen bereitet, verwenden Sie einen synthetischen Primärschlüssel (Autoinkrement). Sie können eine eindeutige Einschränkung für die UUID-Spalte festlegen und sie nur einmal verwenden, um den synthetischen Schlüssel nachzuschlagen, der anschließend für Ihre Joins usw. verwendet wird.