MYSQL中怎么从指定的几个字符串中随机挑选一个替换原有字符串
比如我数据库表a中有一个字段b,里边有几条记录里都包括有“XXX张三”,现在我要把张三随机替换为张三、李四、王五、赵六,这个应该怎么替换?...
比如我数据库表a中有一个字段b,里边有几条记录里都包括有“XXX张三”,现在我要把张三随机替换为张三、李四、王五、赵六,这个应该怎么替换?
展开
1个回答
展开全部
create table names(id int,name varchar(10));
insert into names values(1,'张三')
insert into names values(2,'李四')
insert into names values(3,'王五')
insert into names values(4,'赵六')
select replace(b,'张三',t2.name) b from
(select ceiling(rand()*5) id,b from a) t1
left join
(select id,name from names) t2
on t1.id=t2.id
我没有测试,可能有些小问题,但思路应该是对的
给随机姓名编号
a表用随机数生成编号列,对应姓名编号
关联2个表,并替换相应字段
追问
非常感谢你的回答,因为我本身对代码不熟,这段代码执行的时候不成功。有几个问题我没有弄明白,t1跟t2是临时生成的吗,left join是什么用呢
追答
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。有join,inner join,left join,right join,full join。可以搜索sql教程学习一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询