dedlfix: Was bedeutet die geklammerte Zahl beim Feldtyp?

Beitrag lesen

Hi!

Auf die Gefahr hin dass ich jetzt meine Ahnungslosigkeit bzgl. der Datenspeicherung von MySQL offenlege ...

Das ließe sich mit einem circa 5 Zeilen langen Script ändern.

„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.”
Aber was heißt "abgerufen"? Bezieht sich das auf die Rückgabe von Daten von der DB zum Programm?

Ja. Entgegen meiner ersten Annahme/Aussage bezieht sich das auch auf die Rückgabe der Ergebnismenge über die MySQL-API. Integer-Spalten landen als String im PHP-Script. Die Längenangabe hat aber nur bei ZEROFILL eine Auswirkung. Ohne diese, wird ein String der Länge entsprechend der Ziffernanzahl in Dezimaldarstellung geliefert.

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?

Da kein Beispiel angegeben ist, kann ich mir nur vorstellen, dass die Probleme bei einem impliziten Typecast nach String auftreten können, denn da spielt die Länge eine Rolle.

Lo!