2017-08-10 10 views
-1

数十万の電子メールアドレスをランダム化する必要があります。厳密に言えば、彼らは匿名化する必要がありますが、理想的にはユニークである必要があります。私はSQLの列値の一部をランダムな文字列で更新する

SELECT UNIX_TIMESTAMP();) 

でUNIXタイムスタンプを選択するだから私は、次行くよどこでかなりランダムな文字列を生成することができます知っている

は、このような文字列で、@の前にすべてのものを交換して、すべてを交換することです文字列の後に@anonymised.comと入力します。

私が立ち往生している部分は、電子メールアドレスの特定の部分にunixタイムスタンプを挿入する方法です。私は

LEFT(email,INSTR(email,"@")-1) 

で@記号の左側の文字を取得することができます知っていると私は、私は、文字列の一部を置き換えるためにREPLACEコマンドを使用することができます知っているが、このような2つが結合することはできません... 。

UPDATE USERS SET email = REPLACE(LEFT(email,INSTR(email,"@")-1), UNIX_TIMESTAMP()) 

私はそれが機能するのではなく、文字列を期待している置き換える推測しているが、どこここから行くために図することはできませんが....

+0

何を意味するかを "動作しない" のでしょうか?エラーが発生しますか?予想とは異なる結果を生成しますか? ...? – Egl

+0

申し訳ありませんが、それは構文エラーを生成しました。見てくれてありがとう、私は解決策を見つけた –

答えて

0

申し訳ありませんが、解決策は

ほど簡単でした
update employees set email = CONCAT(UNIX_TIMESTAMP() , '@anonymised.com') 
関連する問題