Mysql
 sql >> Base de données >  >> RDS >> Mysql

Rendre une ligne inactive dans MySQL

Vous pouvez renommer la table actuelle, y créer la colonne "supprimée", puis créer une vue portant le même nom que la table actuelle, en sélectionnant tout où supprimé =0. De cette façon, vous n'avez pas à modifier toutes vos requêtes. La vue pourra être mise à jour à condition que vous fournissiez une valeur par défaut pour la colonne de suppression._

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;