mysql如果批量给name增加一个字母

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:55:42
想合并数据库,批量增加ID会,
update account set name=name + 1000 是这个
但是不能批量增加一个字母给 name 账号
比如数据库A有一个账号是123456,数据库B也有一个重复的123456
我想把数据库B的账号,集体在前面加一个或2个字母,变成a123456
如何实现呢??

我在网上查了一下,有人说使用
update table set name=concate('z',name)
这个语句可以在账号前面增加一个Z,可是我试验不行啊
如果我的表名字是account,要修改的字段是name,如何输入命令呢?

谢谢!!

update account set Name = Concat('a' ,Name);
在MySql数据库,Name列是字符型的情况下测试成功!~
貌似你的concate多了一个字母e...

你name 是什么数据类型?字符型的话下面的应该是可以的
update account set name='A'+name

又是GM给游戏合服
这个挺麻烦的。
语句这样写就行了
update account set Name = Concat('a' ,Name);
玩家的表有几张。
全都要合到一起。不是光改Name
还要把准备要合的表的ID统一加上一个数字,这样才能保证
合完后的人物可以正常使用

可以先把数据库B的数据导入一个数据库A中的一个临时表TABLE1 ,
然后执行下面语句,就可以把与数据库A中account 的name重复的数据前面都加上一个指定的字符串了。

UPDATE TABLE1 tab1
SET tab1.name= CONCAT('B_' , tab1.name)
WHERE EXISTS(
SELECT * FROM account tab2
WHERE tab2.name= tab1.name
)