mysql update n_mysql修改记录时update操作 字段=字段+字符串

在有些场景下,我们需要对我们的varchar类型的字段做修改,而修改的结果为两个字段的拼接或者一个字段+字符串的拼接。

如下所示,我们希望将xx_role表中的name修改为name+id。

e9608e4ea1d0a2402360edd7672485b8.png

在mysql下,我们直接通过“+”来操作,会提示错误。

dd5ed860539605e7e2a54fea6f5b2f34.png

操作符“+”是用来对数字进行加操作的,这里需要使用关键字concat,表示拼接。

bb2ca887a8a48b0b9176ec9971836b97.png

同样的,我们也可以利用字段+字符串来拼接。

9c3218c78310a402ebc40bb670c74828.png

这里稍微说一下“+”的操作,他是用来对数字类型的字段进行加操作的,如下所示:

75d53cff15dc37c64ef864f7cf00b2ea.png

补充:mysql中使用update同时更新多个字段,包括select查询

错误尝试:

update 表名 set(字段1,字段2,字段3,...) = (select 数值1,数值2,数值3,...) where 条件

正确方式:

# 不使用select情况

UPDATE OldData o, NewData n

SET o.name = n.name, o.address = n.address

where n.nid=234 and o.id=123;

# 使用select情况

UPDATE OldData o, (select name, address from NewData where id = 123) n

SET o.name = n.name, o.address = n.address

where n.nid=234;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值