2015-12-04 87 views
0

我有一個varchar字段在我的MySQL表,我想更新一個稱爲day與遞增1如何與增加計數

所以第1行的值列中的每個值將是「第1天」來更新每一行和第二行是「第2天」

任何人都可以提前提示的東西在這方面

感謝。

回答

1

對於MySQL,您可以使用用戶定義的變量來執行此操作。這些通過在變量名稱前面加上'@'符號來隱含定義。因此,要逐步設置列的值設置爲「1天」,「2天」等,你可以做這樣的事情:

BEGIN 
    SET @x := 0; 
    UPDATE table SET column = CONCAT('day ', @x := @x + 1); 
END 

既然有「;」,則需要更改默認從';'分隔符。我將假設你正在使用命令行MySQL實用程序。您將進入上述這樣的:

mysql> delimiter // 
mysql> BEGIN 
mysql> SET @x := 0; 
mysql> UPDATE table SET column = CONCAT('day ', @x := @x + 1); 
mysql> END 
mysql> // 

的細節

+0

我必須的東西包圍你的代碼見http://dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html。因爲現在它給了我語法錯誤。 –

+0

我會更新回答 – DBug

+0

非常感謝。我不得不更新一點,我的意思是它沒有實際創建一個過程,然後執行它不工作。但你仍然回答了大部分的訣竅。 Upvoted。 –