Andreas Korthaus: Die Lösung?

Beitrag lesen

Hallo!

CHAR ist ja ein String. Also, wenn du vier Bytes für den CHAR reservierst, kannst du nur die Zahlen '0000' bis '9999' speichern; '10000' bräuchte ja schon 5 Bytes. Anders bei Integern, da kannst du auf 4 Bytes natürlich 2^32 Zahlen "schreiben". Beim speichern von Zahlen in Strings benutzt du ja nur 10 von 256 möglichen Zeichen.

Ja, aber das schlägt sich ja nur zum einen im Speicherverbrauch und der Begrenzung der IDs nieder, oder? Ich bezweifele aber das ich da irgendwo an Grenzen stoße!

Das mir am liebsten! Aber da ich das eh in e ine Funktion packe soll mir das auch recht sein, nur sollte Deine VErsion wohl besser so aussehen:
INSERT INTO table SET Vorname='Franz-Joseph';
UPDATE table SET ID=CONCAT(HerkunftsID, '-', ClientID) WHERE ID=LAST_INSERT_ID();

oder?

Ich glaube, dass dies keine Probleme geben sollte. Probleme gäbe es, wenn LAST_INSERT_ID nicht Sessionabhängig wäre; müsstest du in der Doku nachschlagen. Das Problem wäre:

Soweit ich weiß bleibt die eine Verbindung ja über die Laufzeit des Scriptes bestehen, und auf diese Verbindung bezieht sich LAST_INSERT_ID meines Wissens! Sonst wäre die Funktion totaler Schwachsinn ;-)

Grüße
Andreas