Hallo Philipp!
Du kannst auch gerne ein "." als Trennzeichen nehmen, womit du trennst spielt keine Rolle, nur, wenn du auf die, wie gesagt sehr waghalsige, Idee kommst, den Spaltentyp auf Float zu setzen.
Ich will ja gar nicht mehr trennen, das soll nur _eine_ eindeutige ID sein!
Dies wird als Zahl behandelt, wenn der Spaltentyp einen Zahlentyp ist und wird als String behandelt, wenn es ein Stringtyp (CHAR) ist. Also, du wirst keine Probleme haben, wenn du den Spaltentyp auf einen geeigneten CHAR setzt (dir ist aber klar, dass du hier mit 4 Bytes nur 10000 Records ansprechen kannst; anders als INT - Werte).
??? Verstehe ich nicht. Wie meinst Du das?
OK. Verstehe. Dein pseudo-INSERT kannst du übrigens dennoch vollständig durch die DB erstellen:
nach jedem Insert...
UPDATE table SET ID=CONCAT(HerkunftsID, '-', ClientID) WHERE ID=0
Aber geht denn nichz sowas wie
INSERT INTO table SET ID=CONCAT(HerkunftsID, '-', ClientID)???
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?
so musst du das nicht "programmiertechnisch" lösen... Und wenn du über ID noch einen Index legst, ist diese Lösung sogar ziemlich performant. Das nur so als Tip nebenbei ;)
KLar, ein Index muß sein, ich denke so mach eihc es auch, dann reicht es die Inserts auf eine Funktion umzustellen und der Rest bleibt!
Danke Dir!
Viele Grüße
Andreas