回答

收藏

使行在MySQL处于非活动状态

技术问答 技术问答 228 人阅读 | 0 人回复 | 2023-09-14

是否有可能MySQL银行处于非活动状态吗?因此,银行不再用于查询结果吗?我的客户希望保留数据库中删除的成员,但我不想编辑所有查询,以检查成员是否被删除。
; U1 s1 V/ G/ o: J& z; r还是有一个简单的方法将整个行数据移动到另一个非活动表?
, Z" p! l5 ^0 g) C                                                                  }3 \$ Q2 Z0 I% y) b; e
    解决方案:                                                               
4 x% a9 m9 Y! @) D! j1 W2 _# O8 U                                                                您可以重命名当前表,在其中创建“ deleted列,然后创建与当前表同名的视图,并选择 deleted =
7 {9 u6 _0 D3 E2 u+ N* |$ b* \0。这样,你就不必改变所有的查询。假如你是为了delete如果列提供默认值,则视图可以更新。_
, S# ^/ a8 J8 q1 I* d  j" CCREATE 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)3)            FROM my_table;DROP TABLE my_table;CREATE VIEW my_table (col1,col2,col3)    AS SELECT (col1,col2,col3)3)               FROM my_new_table           WHERE deleted = 0;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则