簡體   English   中英

在表格中添加自動增量字段

[英]Add autoincrement field in a table

我需要你救我的命。 我有一張桌子,上面有很多行。 字段之一是id,它具有auto_increment。

出於法律原因,現在我需要具有另一個自動遞增字段(不是auto_numeric,我將手動控制它)。 它在第一行中的字段開始於567。

如何添加我存在的行的新相關數字? 568,569,570 ...

您可以編寫存儲過程並使用CURSOR實現所需的功能,使用游標可以迭代查詢的結果並在返回的每一行上執行某些操作(在您的情況下為UPDATE語句)。

只需創建一個新的int字段,然后使用

UPDATE table SET new_column = auto_increment_column + 567;

當然,這也將所有中斷保留在原始列中。 您可以刪除auto_increment字段並重新添加以消除它。 我想這會花幾個小時,但值得一輩子。

如果您確實需要手動為字段重新編號,則可能只需按照以前的注釋者的建議進行操作,並使用PHP或游標遍歷所有記錄。

我找到了解決方案:

SET @pos = 566; 更新mytable SET field_id2 =(SELECT @pos:= @pos +1)ORDER BY ID ASC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM