根据tinyint列的值提取MySql ENUM值

时间:2013-06-20 01:56:51

标签: mysql

我有一个包含tinyint和enum列的表。

enum列(thing_status_texts)保存tinyint(thing_status)中值的文本表示。

我想做类似下面的伪代码:

SELECT
   thing_id,
   thing_status,
   thing_status_texts[thing_status] AS thing_status_text

所以,如果thing_status_texts有Empty,Full,Removed和thing_status = 1,那么thing_status_text将是'Full'

1 个答案:

答案 0 :(得分:0)

根据您的评论,您希望使用单独的表来存储您的状态。像这样:

 status_table                 
+-----------------------------+
|id           |status         |
+-------------+---------------+
|1            |Empty          |
+-------------+---------------+
|2            |Full           |
+-------------+---------------+
|3            |Removed        |
+-------------+---------------+

然后在您的其他表thing_status中应该与新表中的id列对应。当您选择它时,使用JOIN

SELECT status FROM your_main_table JOIN status_table ON thing_status=id