Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Standardwert basierend auf der Ansicht

Ich glaube nicht, dass Sie so etwas Kompliziertes brauchen. Wenn Sie eine Ansicht wie

erstellt haben
CREATE VIEW MYVIEW AS 
    SELECT COLUMN1,
           COLUMN2,
           DISCRIMINATOR_COLUMN
        FROM MYTABLE
        WHERE DISCRIMINATOR_COLUMN = 1;

Sie könnten dann in diese Ansicht Folgendes einfügen...

INSERT INTO MYVIEW (COLUMN1,
                    COLUMN2,
                    DISCRIMINATOR_COLUMN)
    VALUES (1, 2, 3)

und die Ansicht sollte korrekt aktualisiert werden, wenn alle Spalten in der Tabelle, die nicht in der Ansicht vorhanden sind, geeignete Standardwerte haben. Beachten Sie, dass der neue Wert in DISCRIMINATOR_COLUMN muss nicht der in der Ansicht ausgewählte Wert sein, obwohl er natürlich bei der nächsten Auswahl nicht in der Ansicht erscheint, es sei denn, dies ist der Fall.