2016-12-14 72 views
1

假設我有一個包含兩列的表,其中一列是「狀態」,另一列是「狀態號」。根據另一列的值自動生成數字列

我需要讓「狀態號」列具有基於「狀態」列的值的字母數字值。

例如...

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

所以和等等。

任何幫助,將不勝感激。

謝謝!

+0

上述柱應該與觸發器 – Yoleth

+0

@Yoleth試試,不行,你不能在MySQL中使用遞歸觸發器。 – Rahul

+0

目前的數據在哪裏?它在桌子上嗎?我的意思是國家有值和國家號碼是空/空....或你的表是空的,你需要加載它? –

回答

1

不,您不能自動執行此操作,除非將State Number定義爲auto_increment。你所要求的可以使用觸發器來完成,但MySQL不支持遞歸觸發器,因此這裏不是一個選項。

您可以使用,雖然條件CASE執行UPDATE和更新一樣

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

Hi Rahul,謝謝你的回答。 我想我會很難做到這一點,因爲有大約400-500個城市值,我需要將它們與狀態號碼配對 –

相關問題