2009-04-12 8 views
1

Ich habe eine Ansicht, bestehend aus 2 natürlichen Joins über das ID-Feld, das ist ein Fremdschlüssel für die zweite Spalte, die auf die erste und einen Fremdschlüssel für die dritte Referenz der zweiten verweist. Wenn ich versuche, in diese Ansicht einzufügen, gibt es keinen Fehler, aber nur eine Zeile wird in die erste Tabelle eingefügt.Ansichten mit NATURAL JOIN aktualisierbar?

Muss ich Trigger verwenden, um es aktualisierbar zu machen?

Bei weiteren Untersuchungen entdeckte ich, dass MySQL 5.1 (die Version, die ich verwende, keine Trigger unterstützt, die auf Ansichten verweisen).

Antwort

0

Von http://dev.mysql.com/doc/refman/5.1/en/view-updatability.html:

Für eine Mehrtabellen aktualisierbare Sicht kann INSERT funktionieren, wenn sie in einer einzigen Tabelle einfügt.

Es klingt, als würde das Einfügen durch eine Ansicht in mehrere Tabellen nicht unterstützt. Mit anderen Worten, Ihre INSERT sollte nur Spalten aus einer einzelnen Basistabelle angeben.