特定のコンテンツを含む MySQL データベースがあります。「muid」(移行の一意の ID) と呼ばれるテーブルごとに新しい列を作成する必要があり、次の形式で各行に一意の ID を入力する必要があります: table_name_ + row_number.
したがって、ユーザー テーブルの行は「user_0」、「user_1」、「user_2」になります。
私は現在PHPでこれを行っていますが、それには多くの時間がかかります。これは MySQL で実行できますか?
特定のコンテンツを含む MySQL データベースがあります。「muid」(移行の一意の ID) と呼ばれるテーブルごとに新しい列を作成する必要があり、次の形式で各行に一意の ID を入力する必要があります: table_name_ + row_number.
したがって、ユーザー テーブルの行は「user_0」、「user_1」、「user_2」になります。
私は現在PHPでこれを行っていますが、それには多くの時間がかかります。これは MySQL で実行できますか?
以下を使用して新しい列を作成します
DECLARE @Table AS VARCHAR(200)
SET @Table ='Test'
EXEC ('ALTER TABLE ' + @Table + ' ADD muid VARCHAR(50)')
その後、カーソルを使用して各レコードを更新します
これを解決する方法はいくつかあると思います。私のアプローチは、次のようなことをすることです:
alter table mydb.mytable add column muid varchar(15);
set @i = 0;
update mydb.mytable set muid = concat('mytable_', (@i:=@i+1));
私のテストでは、これにより、mytable_1、mytable_2 などの値を持つ muid 列が生成されます。