Hallo zusammen,
gegeben sei einmal die folgende Tabe
Spalte 1 ist ein Primärschlüssel mit einem Autoincrement-Wert.
Nun möchte ich, dass die Spalte2 immer automatisch ausgefüllt wird, und zwar nach der (erst einmal vereinfachten) Logik: Spalte2 = "Kap_" + Spalte1.
Dazu müsste ich mir laut recherchen ein Trigger schreiben. Ich habe es wie folgt probiert:
Aber der Versuch wird mir mit folgender Fehlermeldung quittiert:
Hat jemand einen Tipp? Das Problem ist, dass erst einmal einen Datensatz abspeichern muss, damit der Datensatz vom Server eine ID (Spalte1) erhält. Diese ID will ich dann benutzen und meine Spalte2 füllen. Aber offensichtlich mag MySQL das alles nicht in einem Trigger.
Später - aber um dieses Problem kümmere ich mich dann später - soll die Spalte2 wie folgt aussehen: Kap_xxx
Gruß,
Jean
gegeben sei einmal die folgende Tabe
Code:
Spalte1 Spalte2 --------------- 1 Kap_1 2 Kap_2
Nun möchte ich, dass die Spalte2 immer automatisch ausgefüllt wird, und zwar nach der (erst einmal vereinfachten) Logik: Spalte2 = "Kap_" + Spalte1.
Dazu müsste ich mir laut recherchen ein Trigger schreiben. Ich habe es wie folgt probiert:
Code:
CREATE TRIGGER `test`.`tab1` AFTER INSERT ON test.tab1 FOR EACH ROW BEGIN UPDATE `test`.tab1` SET Spalte2 = 'Kap_' + Spalte1 WHERE Spalte1 = SELECT LAST_INSERT_ID(); END
Can't update table 'tab1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Später - aber um dieses Problem kümmere ich mich dann später - soll die Spalte2 wie folgt aussehen: Kap_xxx
Code:
Spalte1 Spalte2 --------------- 1 Kap_001 2 Kap_002 23 Kap_023 123 Kap_123
Jean
Comment