環境 mysql 5.7
tabale_name : users
実現前
|id|username|email|
|:--:|:--:|:--:|
|1|dummy_username|dummy_email@gmail.com|
|2|dummy_username|dummy_email@gmail.com|
|3|dummy_username|dummy_email@gmail.com|
実現後
id | username | |
---|---|---|
1 | dummy_username_1 | dummy_email_1@gmail.com |
2 | dummy_username_2 | dummy_email_2@gmail.com |
3 | dummy_username_3 | dummy_email_3@gmail.com |
このような感じで、元の値に一意の連続番号(idと同じ値)を付与したいのですが、SQL文が理解できておらず、実現できていません。
置換した値に対して、連続番号を付与するにはSQLでどのように記載すればいいのか、教えていただきたいです。
SQL
1 2select * from users; 3select @row_count := count(id) from users; 4 5select @row_count; 6 7set @index = 1 8 9while @index <= @row_count 10 11set @index = @index + 1 12 13select 14replace(username,left(username,instr(email,'@')- 1),'dummy_username_' + @index) 15from 16users 17 18select 19replace(email,left(email,instr(email,'@')- 1),'dummy_email_' + @index) 20from 21users 22 23end; 24
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/26 01:10