dev*_*234 5 mysql charts integer
我需要在表中有一个名为status的列。此状态列可以包含 -> 已激活、已过期、已停用。所以我想知道为什么我不能创建一个名为 status 的整数类型列并将它们存储为 0、1、2(过期、激活、停用)。但是我们被要求使用. CHAR 而不是 Int。所以它会是状态 Char(2)并存储为 0、1、2。
为什么我应该使用 Char 作为列类型而不是 Integer 是我的问题?
对于标志字段,我通常会使用 CHAR(1),这样我就有一些有意义但内部的值,例如'A', 'E', 'D'- 在这种情况下我不使用顺序整数值,因为它们不会透露任何信息!
这些标志值 - 即使它们“更具可读性”仍然通过常量映射,以便代码中不会出现“神奇值”。(不幸的是,它们仍然必须出现在视图等中。)
但是,在组合标志时要小心:如果一个标志试图表示太多内容(例如,超过一小部分离散值),那么它可能太复杂,需要拆分为多个列/关系。
| 归档时间: |
|
| 查看次数: |
2398 次 |
| 最近记录: |