• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL: INSERT in View

bodil

Mitglied
Zwei Tabellen (eine mit Personendaten wie Vor- und Nachname, Geburtsdatum, eine mit möglichen Tätigkeiten) habe ich über eine dritte Tabelle verknüpft.
Jeder Eintrag hat eine ID, in der dritten Tabelle werden die IDs der ersten beiden Tabellen mit einer Jahreszahl verknüpft. Alle Spalten sind indiziert, die Tätigkeiten (»Hausmeister«, »Bundeskanzler« ...) sind zusätzlich unique. Die IDs der ersten beiden Tabellen sind jeweils Foreign Keys der dritten.

Diese Daten werden jetzt in einem View dargestellt. Beim Versuch, hier einen kompletten Datensatz mit (bereits existierenden) Personendaten und einer (ebenfalls existierenden) Tätigkeit einzutragen, bekomme ich eine Fehlermeldung:

Code:
#1393 - Can not modify more than one base table through a join view view_pers_job'

Wäre es mir verboten in einen View(!) generell Daten einzutragen, würde ich das verstehen. Hier siehts so aus, als dürfte bei einem Eintrag nur eine der beteiligten Tabelle geändert werden. Aber genau das will ich ja: Tabelle drei soll eine Verknüpfung herstellen zwischen einer vorhandenen Person und einer vorhandenen Tätigkeit (und dabei noch eine Jahreszahl notieren).

Wie bringe ich meinen View dazu, dass das direkte Einfügen eines Datensatzes möglich wird, wenn die Personendaten und die Tätigkeit bereits existieren?

Hier noch der Link zur Grafik mit dem DB-Schema:
http://home.arcor.de/bodil/db.png
 
Zuletzt bearbeitet:
Werbung:
Hi threadi!
Vielen Dank für die spontane Antwort!
Funktionen und Prozeduren sehen interessant aus, ich werde mich da mal einlesen!
Was ich nicht verstehe: Die Fehlermeldung. Ist die einfach nur irreführend? Oder verstehe ich da was falsch? Ich will ja schließlich nur in einer(!) Tabelle einen Datensatz einfügen.
Grüße! Bodil
 
Werbung:
Wenn du schon testest...
was passiert eigentlich, wenn das zweite INSERT fehl schlägt? Damit würde man sich den ganzen View zerlegen.
 
Werbung:
Zurück
Oben