Mysql
 sql >> Database >  >> RDS >> Mysql

Valore predefinito di MySQL basato sulla vista

Non credo che tu abbia bisogno di qualcosa di così complicato come quello. Se hai creato una vista come

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

potresti quindi inserire in questa vista così...

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

e la vista dovrebbe aggiornarsi correttamente se tutte le colonne della tabella che non sono presenti nella vista hanno valori predefiniti adeguati. Nota che il nuovo valore in DISCRIMINATOR_COLUMN non deve essere il valore selezionato nella vista, anche se naturalmente non apparirà nella vista alla successiva selezione a meno che non lo sia.