如何用随机字符串替换所有记录的列?

时间:2018-03-30 12:13:32

标签: mysql sql random

我的MySQL中有一个表customers_info,其中有一个列'地址'。

出于隐私原因,我想用随机文本(例如xwdjduhyrmdz之类的所有行)替换所有行中的'address'值。

我发现这个SQL并在phpmyadmin上尝试过,但对我没用。

UPDATE customer_info
SET address = LEFT(REPLACE(CAST(NEWID() AS CHAR(40)), '-', ''), @Characters)

我该怎么做?

1 个答案:

答案 0 :(得分:1)

此查询会将address列的所有行更新为6个字符的随机字符串

UPDATE `yourTable` SET `address` = CONCAT(
    SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND()*26) + 1, 1),
    SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND()*26) + 1, 1),
    SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND()*26) + 1, 1),
    SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND()*26) + 1, 1),
    SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND()*26) + 1, 1),
    SUBSTRING('abcdefghijklmnopqrstuvwxyz', FLOOR(RAND()*26) + 1, 1)
);