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?
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.
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.
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.
im Allgemeinen VIEWS aktualisiert automatisch.
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.