我有一張包含20,000行數據的表格,但我忘記在其上放置主鍵,以便每行都有一個唯一鍵。如何更新表以添加主鍵並使用遞增的ID更新所有現有行?
我希望第一行從ID 1開始一直增加到最後一行並在ID 20000處結束。如何使用單個查詢更新所有行?
我正在使用MySQL。已嘗試使用PhpMyAdmin,但它不會這樣做。
我有一張包含20,000行數據的表格,但我忘記在其上放置主鍵,以便每行都有一個唯一鍵。如何更新表以添加主鍵並使用遞增的ID更新所有現有行?
我希望第一行從ID 1開始一直增加到最後一行並在ID 20000處結束。如何使用單個查詢更新所有行?
我正在使用MySQL。已嘗試使用PhpMyAdmin,但它不會這樣做。
添加新的ID柱後(不設置作爲主鍵只是還沒有,並且不上自動遞增轉)運行:
SET @index = 1;
UPDATE tablename SET ID = (@index:[email protected]+1);
這將設置從1開始到一個遞增ID值每個現有的行都可以解決您在輸入數據後嘗試插入新的主鍵列時會遇到的重複鍵問題。
完成此操作後,您可以將ID列設置爲具有自動增量的主鍵。
更改tablename
並運行以下SQL語句。它將創建一個名爲id的新主鍵並將其填充,從第一行開始填充爲1.
ALTER TABLE `tablename` ADD COLUMN id INT(10) AUTO_INCREMENT NOT NULL FIRST, ADD PRIMARY KEY (id);
實際工作的好男人,謝謝! – zuallauz
太棒了,謝謝! – zuallauz
令人驚歎!拯救了我的一天! – n0nag0n
呃。我現在需要這個for Oracle。任何提示呢? – towi