2017-08-10 38 views
-1

我需要隨機化幾十萬個電子郵件地址。嚴格地說,他們只需要匿名,但理想情況下他們需要是獨一無二的。使用random-ish字符串更新sql列值的一部分

我知道我可以通過選擇具有

SELECT UNIX_TIMESTAMP();) 

一個UNIX時間戳產生相當隨機的字符串,所以我要去哪裏接下來就是這樣的字符串@之前更換所有內容,然後取代一切後跟字符串@anonymised.com

我堅持的部分是如何將unix時間戳插入到電子郵件地址的特定部分。我知道我能得到的字符@符號的左邊與

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

,我知道我可以使用替換命令來替換字符串的一部分,但兩者結合這樣不工作... 。

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')