Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Tornando uma linha inativa no MySQL


Você pode renomear a tabela atual, criar a coluna 'excluída' nela e, em seguida, criar uma exibição com o mesmo nome da tabela atual, selecionando todos onde delete=0. Dessa forma, você não precisa alterar todas as suas consultas. A visualização será atualizável desde que você forneça um padrão para a coluna de exclusão._
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;