mysql行是否有全局启用/禁用?

w1e3prcc  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(402)

假设我所有的表都有一个名为'enabled'的列,它只包含0或1。要使用enable列,我必须在每个sql查询中添加'where enabled=1'以跳过'disabled'行。有没有什么方法可以让我在所有sql查询中不必繁琐地添加where子句,即对一行进行全局启用/禁用?

9rnv2umw

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

fumotvh3

fumotvh32#

唯一的办法就是把它移到另一张table上。
添加时 enabled 字段的类型确保它们被添加到查询中最常用的索引中。

h5qlskok

h5qlskok3#

否[必须的额外字符]

相关问题