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

Rendere inattiva una riga in MySQL

Puoi rinominare la tabella corrente, creare la colonna "eliminata" al suo interno e quindi creare una vista con lo stesso nome della tabella corrente, selezionando tutto dove eliminato=0. In questo modo non devi modificare tutte le tue query. La vista sarà aggiornabile a condizione che tu fornisca un'impostazione predefinita per la colonna di eliminazione._

CREATE TABLE my_new_table (col1    INTEGER,
                           col2    INTEGER,
                           col3    INTEGER,
                           deleted INTEGER NOT NULL DEFAULT 0);

INSERT INTO my_new_table (col1, col2, col3)
    SELECT (col1, col2, col3)
        FROM my_table;

DROP TABLE my_table;

CREATE VIEW my_table (col1, col2, col3)
    AS SELECT (col1, col2, col3)
           FROM my_new_table
           WHERE deleted = 0;