我的MySQL中有一个表table_user
,其中有ip_address
列。
我想使用随机IP地址
更新所有行中ip_address
的值
示例,例如12.345.678.90
,但为了与新脚本代码兼容,每个ip_address行必须不同,昨天我发现312892条记录一个IP:)
我尝试了这个SQL,但没有使用IP地址。
UPDATE `table_user` SET `ip_address` = CONCAT(
SUBSTRING('12.345.678.90', FLOOR(RAND()*26) + 1, 1),
SUBSTRING('12.345.678.90', FLOOR(RAND()*26) + 1, 1),
SUBSTRING('12.345.678.90', FLOOR(RAND()*26) + 1, 1),
SUBSTRING('12.345.678.90', FLOOR(RAND()*26) + 1, 1),
SUBSTRING('12.345.678.90', FLOOR(RAND()*26) + 1, 1),
SUBSTRING('12.345.678.90', FLOOR(RAND()*26) + 1, 1)
);
我该怎么做?
答案 0 :(得分:2)
此方法应该有效:
UPDATE `table_user` SET `ip_address` = CONCAT(
TRUNCATE( RAND() * (255 - 1 + 1) + 1, 0 ), '.',
TRUNCATE( RAND() * (255 - 1 + 1) + 1, 0 ), '.',
TRUNCATE( RAND() * (255 - 1 + 1) + 1, 0 ), '.',
TRUNCATE( RAND() * (255 - 1 + 1) + 1, 0 )
)
它基本上生成1到255之间的数字.TRUNCATE函数除去十进制数(截断为0小数)。 RAND函数生成从0(包括)到1(不包括)的数字。
答案 1 :(得分:0)
我知道这是针对 MySQL 的,但如果您来这里是为了寻找 T-SQL 代码,这里是:
i