首页 > 数据库 >mysql交换两列数据

mysql交换两列数据

时间:2024-04-15 09:44:22浏览次数:29  
标签:SET 交换 col2 UPDATE col1 mysql 两列

mysql交换两列数据
某ai上居然给出了下面这个语句,这语句是错误的,会把两列换成一样的数据

UPDATE t_a
SET col1 = col2, col2 = col1;

下面的语句是可行的

update
    t_a as a,
    t_b as b
set
    a.col1= b.col2,
    a.col2= b.col1
where a.id = b.id;

下面是使用临时变量的方式

UPDATE t_a
SET 
    col1= (@temp:=col1),
    col1= col2,
    col2= @temp;

上面两种方法都是可行的,不过如果有冗余字段建议使用冗余字段分三步去实现

UPDATE t_a
SET def1 = col2;

UPDATE t_a
SET col2 = col1;

UPDATE t_a
SET col1 = def1;

 

标签:SET,交换,col2,UPDATE,col1,mysql,两列
From: https://www.cnblogs.com/ZDY-XJ/p/18135183

相关文章

  • .net core EF mysql 共享事务
     .netcoreEFmysql共享事务在.NETCore中使用EntityFramework(EF)Core与MySQL一起工作时,您可以使用System.Transactions的TransactionScope来创建一个可以跨多个数据库连接共享的事务。以下是一个简单的示例,展示了如何在.NETCore应用程序中使用EntityFramewo......
  • MySQL概述以及MySQL的安装以及启动
    一、数据库的相关概念数据库Database,简称DB。按照一定的数据结构来组织、存储和管理数据的仓库。数据库管理系统DatabaseManagementSystem,一种操纵和管理数据库的大型软件,用于创建、使用和维护数据库,简称DBMS。  关系型数据库(RDBMS)概念:关系型数据库,是建立在关系模型......
  • mysql中文全文索引的记录
    在MySQL5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库。从MySQL5.7.6开始,MySQL内置了ngram全文解析器,用来支持中文、日文、韩文分词。创建示例--创建表格CREATETABLEarticles(idINTAUTO_INCREME......
  • Mysql - 什么是三大范式(通俗详解)
    Mysql-什么是三大范式(通俗详解)高月之风关于数据的一切我都喜欢。​关注他 218人赞同了该文章​展开目录 Hello~我是高月!我将会在这篇文章中用通俗易懂的话为你简单说明什么是Mysql的三大范式。如果喜欢这篇文章,请点赞、关注......
  • Ubuntu 启用交换分区
    前言交换分区也称之为swap分区,允许系统在内存不足的情况下将内存程序写入文件,防止系统卡死失去响应的情况发生。检查现有交换分区首先,确认系统中是否已存在交换分区或文件。在终端中输入以下命令:swapon--showfree-hswapon--show命令会列出当前已启用的交换空间。fr......
  • 如何解决node.js运行mysql报错?
    首先检查mysql客户端的密码是否正确正确后提示我没有安装mysql模板 在文件目录终端下输入cnpminstall-gmysql进行安装这时候运行还是显示错误上网搜了一下说是登录数据库的客户端跟mysql8.0不兼容了,mysql8.0密码认证采用了新的密码格式[解决方法]打开命令管理器进入m......
  • MySQL 函数
    汇总函数rolluprollup是SQL关键字,在MySQL中得用withrollup。它是groupby子句的扩展,用于统计后增加一行汇总数据。举例,现有库存表,我们按仓库名称分组,统计每个仓库的产品总量,最后来一个汇总。mysql>SELECT*FROMinventory;+----+---------------+---------+----------......
  • 在centos7下面,安装mysql,并设置 用户名为henry
    好的,以下是在CentOS7下安装MySQL并完成你所要求的操作的详细步骤:1.**安装MySQL**:首先,使用`yum`包管理器安装MySQL:sudoyuminstallmysql-server 2.**启动MySQL服务**:安装完成后,启动MySQL服务:sudosystemctlstartmysqld 3.**设置MySQL开机自启......
  • mysql部署MGB
    基础环境node0:192.168.110.50 -->master节点node1:192.168.110.60node2:192.168.110.70MySQL版本->MySQL8.0.36在每台电脑上配置host名cat>/etc/hosts<<-'EOF'192.168.31.230n0192.168.31.231n1192.168.31.232n2EOF修改对应主机的主机名hostnamectlset......
  • MYSQL 主从同步失败:Slave_SQL_Running: No
    SHOWSLAVESTATUS\G;显示Slave_SQL_Running:No 解决方法:从主服务器查询:  SHOWMASTERSTATUS在从服务器上:changemastertomaster_host='169.254.60.151', #主库的IP地址master_user='slave', #在主库上创建的复制账号master_password='???????',......