假设我所有的表都有一个名为'enabled'的列,它只包含0或1。要使用enable列,我必须在每个sql查询中添加'where enabled=1'以跳过'disabled'行。有没有什么方法可以让我在所有sql查询中不必繁琐地添加where子句,即对一行进行全局启用/禁用?
9rnv2umw1#
可以使用以下条件创建视图:
CREATE VIEW ViewMyTableOnlyEnabled AS SELECT Field1, ..., FieldN FROM myTable WHERE enabled <> 0;
像table一样使用:
SELECT Field1, ..., FieldN FROM ViewMyTableOnlyEnabled;
我把标准改成 WHERE enabled <> 0 as false通常存储为0,但true有时存储为-1
WHERE enabled <> 0
fumotvh32#
唯一的办法就是把它移到另一张table上。添加时 enabled 字段的类型确保它们被添加到查询中最常用的索引中。
enabled
h5qlskok3#
否[必须的额外字符]
3条答案
按热度按时间9rnv2umw1#
可以使用以下条件创建视图:
像table一样使用:
我把标准改成
WHERE enabled <> 0
as false通常存储为0,但true有时存储为-1fumotvh32#
唯一的办法就是把它移到另一张table上。
添加时
enabled
字段的类型确保它们被添加到查询中最常用的索引中。h5qlskok3#
否[必须的额外字符]