根据其他列的值自动生成数字列

时间:2016-12-14 14:25:48

标签: mysql

我们说我有一个有两列的表,一列是" State"另一个是"州号"。

我需要列#34;州号"具有基于列"状态"的值的数字值,按字母顺序排列。

...示例

State = A is equals to State Number = 1
State = B is equals to State Number = 2
State = C is equals to State Number = 3

等等。

任何帮助都将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

不,除了将State Number定义为auto_increment之外,您无法自动执行此操作。你问的问题可以使用触发器完成,但MySQL不支持递归触发器,因此它不是一个选项。

您可以使用UPDATE条件执行CASE并更新上述列

update tbl1
set `State Number` = case when state = 'A' then 1
                     when state = 'B' then 2
                     when state = 'C' then 3 end;