【发布时间】:2011-12-04 16:07:53
【问题描述】:
我有一个 MySQL 数据库,它目前使用 tinyint 字段来存储记录类型。它使用奇数编号,我们正在对此进行更改。所以目前,它显示为:
record type
1 60
2 62
3 60
4 61
5 63
数字代表类型,有:
60 = car
61 = bike
62 = motorcycle
我们需要将其转换为枚举字段,使用值car、bike、motorcycle。但是,有问题的表是从大量页面中使用的,其中 SELECT 和 INSERT 是使用原始数字进行的。这将逐渐改变。所以我想知道:有没有办法更改枚举字段的索引,以便我可以将字段更改为枚举并仍然保存 type = 60 的新记录,这变成了“汽车”?我知道有一种方法可以将它设置为 0,它会变成汽车,但显然这需要我们更改所有页面,而且没有时间这样做......
【问题讨论】:
-
所以你需要维护存储在列中的当前值,但转换为
ENUM? -
字段 ENUM 和 SET 不能使用索引!