Automatische Aktualisierung der Ansicht in MySql

8

Wird die Ansicht automatisch aktualisiert, wenn die zugrunde liegenden Tabellen in MySQL ohne Abfrage aktualisiert werden?

Um weiter zu gehen - wenn ich die Tabelle aktualisiere, wird die Ansicht aktualisiert, auch wenn ich keine Abfrage für die Ansicht mache?

    
user1041661 11.11.2011, 12:17
quelle

4 Antworten

12

Jedes Mal, wenn Sie eine Abfrage für die Ansicht ausführen, werden die aktuell in Tabellen enthaltenen Daten abgerufen - einschließlich aller festgeschriebenen Transaktionen, aber nicht der UPDATE- oder INSERT-Abfragen, die noch nicht festgeschrieben wurden.

aber natürlich, sobald Sie diese Daten haben, wird es nicht erneut senden. Es gibt Trigger dafür, aber Ihr Datenbank-Client muss die View-Daten noch abfragen.

Um ein bisschen mehr aufzuräumen: View speichert die Daten nicht (Cache), es ist eine logische Struktur und wird immer in die zugrunde liegenden Tabellen schauen.

    
zmilojko 11.11.2011 12:21
quelle
4

Eine Sicht ist eine gespeicherte Abfrage, auf die als virtuelle Tabelle zugegriffen werden kann, und besteht aus der Ergebnismenge der Abfrage. Durch Ändern der Daten in einer referenzierten Tabelle werden die Daten geändert, die in nachfolgenden Aufrufen der Ansicht angezeigt werden.

siehe: Ссылка

es ist ein bisschen so ...

Wenn Sie mich jetzt fragen, werde ich Ihnen sagen, es ist zehn Uhr.

Wenn du mich zwei Stunden später fragst, werde ich dir sagen, dass es zwölf Uhr ist.

Wenn Sie mich nicht fragen, werde ich Ihnen nicht die Zeit sagen.

    
Kevin Burton 11.11.2011 12:31
quelle
3

Wenn Sie die Ansicht einer bestimmten Tabelle erstellt haben, wird die Daten in der Ansicht automatisch aktualisiert, wenn Sie die Daten ändern oder neue Daten in die entsprechende Tabelle einfügen.

Wenn Sie jedoch weitere Spalten in der Datenbanktabelle hinzufügen und die entsprechende Ansicht aktualisieren möchten, ist die Änderung nicht automatisch.

Dafür können Sie 'SQLYog' verwenden. Es ist ein nettes Werkzeug, um mit Ansichten zu arbeiten.

    
rdkrosan 17.09.2014 06:10
quelle
2

im Allgemeinen VIEWS aktualisiert automatisch.

Von MySQL-Dokumentation

  

Einige Ansichten sind aktualisierbar. Das heißt, Sie können sie in Anweisungen wie verwenden   als UPDATE, DELETE oder INSERT, um den Inhalt des Underlyings zu aktualisieren   Tabelle. Damit eine Ansicht aktualisiert werden kann, muss eine Eins-zu-Eins-Abfrage durchgeführt werden   Beziehung zwischen den Zeilen in der Ansicht und den Zeilen in der   zugrunde liegenden Tabelle. Es gibt auch bestimmte andere Konstrukte, die ein machen   Ansicht nicht aktualisierbar.

    
diEcho 11.11.2011 12:22
quelle

Tags und Links