dedlfix: MySQL Primary Key

Beitrag lesen

echo $begrüßung;

Außerdem nimmt ein Integer-Wert weniger Speicher in Anspruch als so ein String.
tut er das ? Um die zahl 192335 brauche ich wieviel bits ?

Ein MEDIUMINT reicht, das wären 3 Bytes. Ich bin heute großzügig und spendiere 4 Bytes für einen INT. Als CHAR braucht dein Beispiel (mindestens) 6 Bytes, als VARCHAR 7. Abhängig von der Zeichenkodierung u.U. noch mehr.

Nur als Zeichenfolge. Eine so genannte natürliche Sortierung, bei der die Zahlenbestandteile als solche erkannt und bewertet werden, kann MySQL nicht.
mal davon abgeshen, dass ich dir zustimme diesen wert nicht als pk zu benutzen, könnte man zur not, falls das kind schon im brunnnen gefallen ist, die '-' ersetzen, es mit einer funktiona ala CAST in einen INTEGER umwandeln und dann sortieren.

_Ein_ Integer wird dabei nicht reichen, denn wenn die Werte 15-1 und 1-91 in der Reihenfolge 1-91,15-1 als richtig sortiert gelten (weil 1 kleiner als 15 ist, und erst dann der zweite und weitere Teile ausgewertet werden sollen), müsste man schon etwas Aufwand mit der Stringverarbeitung beim Sortieren betreiben. Erstes Sortierkriterium wäre die Zeichenfolge bis zum ersten '-', zweites Kriterium der Teil zwischen dem ersten und zweiten '-', usw.

echo "$verabschiedung $name";