0

特定のコンテンツを含む MySQL データベースがあります。「muid」(移行の一意の ID) と呼ばれるテーブルごとに新しい列を作成する必要があり、次の形式で各行に一意の ID を入力する必要があります: table_name_ + row_number.

したがって、ユーザー テーブルの行は「user_0」、「user_1」、「user_2」になります。

私は現在PHPでこれを行っていますが、それには多くの時間がかかります。これは MySQL で実行できますか?

4

2 に答える 2

1

以下を使用して新しい列を作成します

DECLARE @Table AS VARCHAR(200)
SET @Table ='Test'
EXEC ('ALTER TABLE ' + @Table + ' ADD muid VARCHAR(50)')

その後、カーソルを使用して各レコードを更新します

カーソルを使用してレコードを更新する方法

于 2012-09-19T12:04:22.007 に答える
1

これを解決する方法はいくつかあると思います。私のアプローチは、次のようなことをすることです:

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 列が生成されます。

于 2012-09-19T12:07:44.033 に答える