mysql修改记录时update操作 字段=字段+字符串
在有些场景下,我们需要对我们的varchar类型的字段做修改,而修改的结果为两个字段的拼接或者一个字段+字符串的拼接。
如下所示,我们希望将xx_role表中的name修改为name+id。
在mysql下,我们直接通过“+”来操作,会提示错误。
操作符“+”是用来对数字进行加操作的,这里需要使用关键字concat,表示拼接。
同样的,我们也可以利用字段+字符串来拼接。
这里稍微说一下“+”的操作,他是用来对数字类型的字段进行加操作的,如下所示:
补充: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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
MySQL 替换某字段内部分内容的UPDATE语句
要替换某一个字段中的部分内容,可以用update 语句: UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值"; 比如替换标题里面的产品价格就是用这个方法 复制代码 代码如下: UPDATE dede_archives SET title= REPLACE( title, 155, 170 ); UPDATE dede_archives SET title= REPLAC
-
mysql update语句的用法详解
首先,单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] 其次,多表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_n
-
详解MySQL数据库insert和update语句
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.SQL语句中的更新语句update是最常用的语句之一,言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就 是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.
-
mysql修改记录时update操作 字段=字段+字符串
在有些场景下,我们需要对我们的varchar类型的字段做修改,而修改的结果为两个字段的拼接或者一个字段+字符串的拼接. 如下所示,我们希望将xx_role表中的name修改为name+id. 在mysql下,我们直接通过"+"来操作,会提示错误. 操作符"+"是用来对数字进行加操作的,这里需要使用关键字concat,表示拼接. 同样的,我们也可以利用字段+字符串来拼接. 这里稍微说一下"+"的操作,他是用来对数字类型的字段进行加操作的,如下所示:
-
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
前言 最近在工作中遇到一个问题,在使用Orm2进行model修改时,发现当对关联字段进行update操作时,执行了2次SQL,第一次把值改为了我们期望的值,第二次又会把值改回成原来的值. 经过调查,当autoFetch开启时,会自动取得关联model,此时的model为: { roomId: xxx, // 关联的roomId room: { // 关联的room对象 } } 第一次会按照roomId去修改,第二次则会按照fetch的关联对象room进行修改,导致了我们看到的执行了两次SQL的情
-
mysql数据表的基本操作之表结构操作,字段操作实例分析
本文实例讲述了mysql数据表的基本操作之表结构操作,字段操作.分享给大家供大家参考,具体如下: 本节介绍: 表结构操作 创建数据表. 查看数据表和查看字段. 修改数据表结构 删除数据表 字段操作 新增字段. 修改字段数据类型.位置或属性. 重命名字段 删除字段 首发时间:2018-02-18 21:31 表结构操作 创建数据表: 语法 : create table [if not exists] 表名( 字段名字 数据类型, 字段名字 数据类型 )[表选项]; 表选项 : 字符集:cha
-
mysql group by 对多个字段进行分组操作
在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据. 比如有一个学生选课表,表结构如下: Table: Subject_Selection Subject Semester Attendee --------------------------------- ITB001 1 John ITB001 1 Bob ITB001 1 Mickey ITB001 2 Jenny ITB001 2 James MKB114 1 John MKB
-
MySQL查询字段实现字符串分割split功能的示例代码
目录 问题背景 场景模拟 方法实现 SUBSTRING_INDEX LENGTH REPLACE SQL解析 问题背景 查询MySQL中用逗号分隔的字段[a,b,c]是否包含[a] 场景模拟 现有表[ec_logicplace],如下图所示: 要求判断数值[1]是否存在于表[ec_logicplace]中的[actual_place_id]中 方法实现 首先将[actual_place_id]字段用逗号拆分查询出来 通用模板为: SELECT SUBSTRING_INDEX( SUBSTRING
-
Mysql如何在select查询时追加(添加)一个字段并指定值
目录 在select查询时追加(添加)一个字段并指定值 使用select查询时,在查询结果中增加一个字段并指定固定值 在select查询时追加(添加)一个字段并指定值 在特定时候,在 mysql 的查询结果中我们需要追加一个字段来实现某些特定的功能,这时我们可以用到以下语法来实现 值 as 字段 比如我们需要给这个查询结果追加一个 xx 字段并赋值为 null ,可以这样实现 select *, null as xx from topic; 使用select查询时,在查询结果中增加一个字段并指定
-
MySQL实现字段或字符串拼接的三种方式总结
目录 一.CONCAT函数 1.1.拼接非空字段或字符串 1.2.拼接空(NULL)字段 二.CONCAT_WS函数 2.1.拼接非空字段或字符串 2.2.拼接空(NULL)字段 三.GROUP_CONCAT函数 3.1.默认以逗号分隔符连接 3.2.可自定义对字段去重排序和指定分隔符 3.3.group_concat的限制和设置 一.CONCAT函数 concat函数是将多个字段或字符串拼接为一个字符串:但是字符串之间没有任何分隔. concat函数官方介绍 -- CONCAT函数的语法如下:
-
php+mysql+ajax实现单表多字段多关键词查询的方法
本文实例讲述了php+mysql+ajax实现单表多字段多关键词查询的方法.分享给大家供大家参考,具体如下: 单表多字段查询在一些稍微复杂一点的查询中十分有用.这里主要利用MySQL数据库中的concat函数实现单表多字段多关键词查询.并且显示查询结果的表格可根据所选数据表动态生成. html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title><
-
详解MySQL查询时区分字符串中字母大小写的方法
如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql查询数据库. 发现的确是大小不敏感 . 通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *
-
教你如何让spark sql写mysql的时候支持update操作
目录 1.首先了解背景 2.如何让sparkSQL支持update 3.改造源码前,需要了解整体的代码设计和执行流程 4.改造源码 如何让sparkSQL在对接mysql的时候,除了支持:Append.Overwrite.ErrorIfExists.Ignore:还要在支持update操作 1.首先了解背景 spark提供了一个枚举类,用来支撑对接数据源的操作模式 通过源码查看,很明显,spark是不支持update操作的 2.如何让sparkSQL支持update 关键的知识点就是: 我们正常
随机推荐
- redis集群搭建教程及遇到的问题处理
- MySQL备份与恢复之真实环境使用冷备(2)
- 解析php中session的实现原理以及大网站应用应注意的问题
- 深入php self与$this的详解
- Linux vim编辑命令模式
- Shell脚本避免重复执行的方法
- python列表操作实例
- Android仿支付宝上芝麻信用分雷达图
- jQuery - css() 方法示例详解
- nodejs基础应用
- javascript在一段文字中的光标处插入其他文字
- 用PHP制作静态网站的模板框架(四)
- 字符串转换成枚举类型的方法
- Python IDLE入门简介
- Vue拖拽组件开发实例详解
- 简单实现Python爬取网络图片
- 浅谈关于C语言中#define的副作用
- SpringBoot基于HttpMessageConverter实现全局日期格式化
- 如何安装并使用conda指令管理python环境
- Linux中怎么通过PID号找到对应的进程名及所在目录方法