Insert in zwei tabellen in einer query
Marc1988
- datenbank
0 Vinzenz Mai0 Marc0 Vinzenz Mai0 Tom
Hallo,
bin sql neuling, deshalb die frage ist es möglich sowas zu machen:
$query="INSERT INTO xxx(yyy,zzz,lll) VALUES('vcx','dsf','sdfj') AND INSERT INTO kkk(sss,mmm,nnn) VALUES('...
also so sicher nicht weil das habe ich schon probiert*G*, aber gibt es da einen weg??
MFG
Hallo Marc,
also so sicher nicht weil das habe ich schon probiert*G*, aber gibt es da einen weg??
es gibt Datenbankmanagementsysteme (DBMS), die es erlauben, mit einer INSERT-Anweisung Daten in mehr als eine Tabelle zu schreiben. Welches DBMS (MySQL, MS SQL-Server, Oracle, DB2, Informix, MS Access, FoxPro, dBase, SQLite, ...) verwendest Du?
MySQL kann es nicht, MS Access kann es zum Beispiel mit aktualisierbaren Views (Auswahlabfragen).
Viele DBMS unterstützen Stored Procedures. Solche könntest Du eventuell für Dein Problem nutzen. MySQL unterstützt Stored Procedures ab Version 5.0
Freundliche Grüße
Vinzenz
Hallo,
vielen dank für deine antwort, ich könnte auch auf 2 querys ausweichen aber inwiefern bringt das performance einbußen??
MFG
Hallo
vielen dank für deine antwort, ich könnte auch auf 2 querys ausweichen aber inwiefern bringt das performance einbußen??
Überhaupt keine. Wenn Dein DBMS ein Mehrtabelleninsert nicht unterstützt, dann kannst Du das auch nicht nutzen.
Welches Datenbankmanagementsystem (bitte mit Versionsangabe) steht denn zur Verfügung?
Freundliche Grüße
Vinzenz
Hello,
[...] ich könnte auch auf 2 querys ausweichen aber inwiefern bringt das performance einbußen??
Es kann das Sperren der Tabellen bzw. der betroffenen Datensätze zur Voraussetzung machen.
Das hängt aber davon ab, ob zwischen dem ersten und dem zweiten Insert noch ein fremder Request stattfinden darf, oder nicht. Wenn die beiden Sätze voneinander abhängig sind, darf das i.d.R. nicht sein.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom