【发布时间】:2014-01-25 18:27:58
【问题描述】:
我有一个 MySQL 数据库和一个表 table1 与列:
-
uint 类型的
id - 其他一些现在不重要的字段(如
name、age等), -
enum 类型的
status(met, like, love, hate, kill)。
对于插入的行(1, love),我想选择“下一个”status (hate)。
我的尝试:
我试过了:
SELECT (status + 1) FROM table1 WHERE id = 1
但它返回了4(索引,而不是文本值)。
当然:
SELECT status FROM table1 WHERE id = 1
返回love(文本值,而不是索引)。
问题:
有没有办法实现它(可能是某种“铸造”)?
我更喜欢不要弄乱数据库架构表的解决方案。
另外,我可以用status = status + 1UPDATE 那一行,而不是选择它,然后用UPDATE 再次选择它status = status - 1,但这是更糟糕的主意...
编辑
我被要求提供更多细节:
我没有任何额外的表格来保存我的枚举顺序。我刚刚用phpMyAdmin 添加了它,它的选择就像我描述的那样工作。
此外,当我用status = status + 1 更新表格时,我从love 得到hate。
【问题讨论】:
标签: mysql sql select enums enumeration