質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

1387閲覧

SQLで、マスキング処理する際に、マスキングした値に連番を付与して一意の値にしたい

hi-roto

総合スコア8

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2021/08/25 16:40

編集2021/08/25 17:07

環境 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|

実現後

idusernameemail
1dummy_username_1dummy_email_1@gmail.com
2dummy_username_2dummy_email_2@gmail.com
3dummy_username_3dummy_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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

SQL

1select id, 2concat(username,'_',id) as col1, 3replace(email,'@',concat('_',id,'@')) as col2 4from users

投稿2021/08/26 00:30

yambejp

総合スコア116443

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hi-roto

2021/08/26 01:10

一瞬でできました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問