Datensätze aus gleicher Tabelle mittels "insert" kopieren
harald
- datenbank
Hallo!
Ich will mittels eines Insert's und einem Subselect einen Datensatz in derselben Tabelle kopieren.
Das INSERT:
"INSERT INTO amkopf
(anfnr,
bezeich,
gueltvon,
gueltbis,
gruppe,
userneu,
datneu,
waehrng,
liefkdt)
SELECT '$anfnrneu',
'$cbezeich',
ak.gueltvon,
ak.gueltbis,
ak.gruppe,
'$cookie_user',
NOW(),
ak.waehrng,
ak.liefkdt
FROM amkopf ak
WHERE anfnr = '$anfnr'"
bekomme aber die Fehlermeldung:
INSERT TABLE 'amkopf' isn't allowed in FROM table list
Gibt es eine andere "nur SQL" - Variante um dieses Problem zu umgehen, oder muß ich mit 2 Statements und einer While-Schleife arbeiten (was ich eigentlich nicht will). DB's sind ja da um zu arbeiten ;)
Ich benutze als DB: MySQL 3.22.32 und kanns konfigurieren wie ich will.
danke, für jede Hilfe
harald
Kommando zurück, hab grad alles im MySql - Manual gefunden,
muß vorher immer drübergelesen haben.
geht nicht, da man sonst ja vielleicht gerade erst eingefügte Datensätze mitfindet, irgendwie logisch.
pfiat eich
harald
Hallo!
Hallo
Ich will mittels eines Insert's und einem Subselect einen Datensatz in derselben Tabelle kopieren.
[...]
Ich benutze als DB: MySQL 3.22.32 und kanns konfigurieren wie ich will.
Ich habe mal irgenwo gelesen, dass ein Subselect in einem Select bei MySQL nicht möglich sei. Ob dies bei deiner Version und bei einem Insert auch so ist kann ich nicht sagen. Schau am besten zu erst im Manual nach, ob dies möglich ist.
MfG
Tom2
Hallo
Ich habe mal irgenwo gelesen, dass ein Subselect in einem Select bei MySQL nicht möglich sei. Ob dies bei deiner Version und bei einem Insert auch so ist kann ich nicht sagen. Schau am besten zu erst im Manual nach, ob dies möglich ist.
Hab wie vorher schon geposted, jetzt das jeweilige Statement im
Manual gefunden:
Punkt 6.4.3.1 Insert...Select Syntax
Das haben das als fast eigenständigen Befehl implementiert, und es funktioniert nur nicht in einer einzigen Tabelle.
gruß
harald