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

Eine Zeile in MySQL inaktiv machen

Sie könnten die aktuelle Tabelle umbenennen, die Spalte „gelöscht“ darin erstellen und dann eine Ansicht mit demselben Namen wie die aktuelle Tabelle erstellen, indem Sie alle auswählen, bei denen gelöscht =0 ist. Auf diese Weise müssen Sie nicht alle Ihre Abfragen ändern. Die Ansicht ist aktualisierbar, vorausgesetzt, Sie geben einen Standardwert für die Löschspalte an._

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;