我有一個MySQL數據庫,其中包含給定的內容。我需要爲每個表創建一個名爲'muid'(遷移唯一標識)的新列,並且需要使用以下格式填充每行唯一標識:table_name_ + row_number。將列添加到包含表名+增量的現有MySQL表中
因此,用戶表的行將是「user_0」,「user_1」,「user_2」。
我目前正在用PHP做這件事 - 但這需要很多很多時間。這可以用MySQL來完成嗎?
我有一個MySQL數據庫,其中包含給定的內容。我需要爲每個表創建一個名爲'muid'(遷移唯一標識)的新列,並且需要使用以下格式填充每行唯一標識:table_name_ + row_number。將列添加到包含表名+增量的現有MySQL表中
因此,用戶表的行將是「user_0」,「user_1」,「user_2」。
我目前正在用PHP做這件事 - 但這需要很多很多時間。這可以用MySQL來完成嗎?
我懷疑有許多的方法來解決這個更新每個記錄。我的辦法是做這樣的事情:
alter table mydb.mytable add column muid varchar(15);
set @i = 0;
update mydb.mytable set muid = concat('mytable_', (@i:[email protected]+1));
在我的測試,這導致具有類似於mytable_1,mytable_2值MUID列等
沒有遊標的意外解決方案!謝謝! –
使用以下命令,創建新的列
DECLARE @Table AS VARCHAR(200)
SET @Table ='Test'
EXEC ('ALTER TABLE ' + @Table + ' ADD muid VARCHAR(50)')
之後,使用光標
爲什麼你需要在ID表名?您可以添加新的'id'列,使其成爲主要和auto_increment;值將是1,2,3,4,5 .... – Devart
這是一個很長的故事 - 但爲了簡化它,我收到了一個準備好的數據庫以遷移到Drupal。而Drupal的Migrate模塊不處理沒有唯一標識符的項目。所以,我正在尋找一種方法將獨特的ID自己添加到給定的表格中。 –