Auf die Gefahr hin dass ich jetzt meine Ahnungslosigkeit bzgl. der Datenspeicherung von MySQL offenlege ...
„Wenn hierzu das optionale Erweiterungsattribut ZEROFILL verwendet wird,
erfolgt ein Auffüllen nicht mehr mit Leerzeichen, sondern mit Nullen.
Bei einer Spalte etwa, die als INT(5) ZEROFILL deklariert ist, wird der
Wert 4 als 00004 abgerufen.”
Ich sehe auf der Seite dass ein int als 4 Bytes gespeichert wird und nicht als ein 10 oder sonst wie viele Stellen langer String. Bin auch ziemlich glücklich darüber :-)
Aber was heißt "abgerufen"? Bezieht sich das auf die Rückgabe von Daten von der DB zum Programm?
Was mich dann vollends aus dem Tritt bringt wäre das hier:
*******
Beachten Sie, dass, wenn Sie Werte in einer Integer-Spalte speichern, die größer sind als die Anzeigebreite, unter Umständen Probleme auftauchen, wenn MySQL Temporärtabellen für einige komplizierte Joins anlegt, denn in diesen Fällen setzt MySQL voraus, dass die Daten in die ursprüngliche Spaltenbreite passen.
*******
Wenn ich eine Integer Spalte habe und damit etwas anstelle, das temporäre Tabellen benötigt, dann kann es in diesen Tabellen Integer Spalten (also gleicher Datentyp = 4 Bytes) geben, die andere Spaltenbreiten haben?