MySQL之同表一个字段如何赋值给另一个字段

 更新时间:2023年07月01日 10:29:36   作者:jeikerxiao  
这篇文章主要介绍了MySQL之同表一个字段如何赋值给另一个字段问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mysql同表一个字段赋值给另一个字段

将同一个表中的一个字段的值复制给另一个字段

UPDATE t_user  
SET signed_time = create_time 

将同一个表中两个类型一样的字段的值互换

UPDATE t_user u1, t_user u2 
SET u1.signed_time = u2.create_time,  
    u2.create_time = u1.signed_time  

mysql表table_a B字段值赋值给A字段 update 语句

-- 同一个表
UPDATE table_a SET A=(SELECT B FROM (SELECT * FROM table_a) b WHERE b.id = table_a.id)
-- 两个(一样的)表
UPDATE table_a SET A = (SELECT B FROM table_b WHERE table_b.id= table_a.id)
-- 例子
-- UPDATE FY_MEDICINE_DIRECTION SET MEDICINE_NAME=(SELECT COMMON_NAME FROM (SELECT * FROM FY_MEDICINE_DIRECTION) b WHERE b.id = FY_MEDICINE_DIRECTION.id) WHERE  SOURCES='参考《国家医保药品手册》(2017版)' AND MED_ISTATUS=1
-- UPDATE message  SET image=(SELECT istatus FROM (SELECT * FROM message) b WHERE b.id = message.id)

mysql同一张表中的一个字段的值替换另一个字段

要求:

原数据

替换成

替换后的数据

测试数据:

CREATE TABLE `test`  (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of test
-- ----------------------------
INSERT INTO `test` VALUES (1, 'a');
INSERT INTO `test` VALUES (2, 'b');
INSERT INTO `test` VALUES (3, 'c');
INSERT INTO `test` VALUES (4, 'd');
INSERT INTO `test` VALUES (5, 'e');

方法一

以前以为set就是:key = value,没想到可以直接将两个字段放上去进行赋值。

UPDATE test SET value = id;
-- 若有其他条件往后面添加就行 update table set field1 = field2 where ...

方法二

这种方法针对两个表的数据同步

update A inner join(select id,name from B) c on A.id = c.id set A.name = c.name;

用在这里就是创建一个临时表(将test表复制一份),然后使用这种方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL按时间进行表分区的方法代码

    MySQL按时间进行表分区的方法代码

    本文介绍如何在MySQL中创建按月份分区的表,并通过修改配置文件或使用数据库事件来实现自动分区,文中通过代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-09-09
  • Mysql 命令行模式访问操作mysql数据库操作

    Mysql 命令行模式访问操作mysql数据库操作

    这篇文章主要介绍了Mysql 命令行模式访问操作mysql数据库操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 手把手教你Navicat如何导出Excel格式的表结构

    手把手教你Navicat如何导出Excel格式的表结构

    我们在开发中使用数据库时往往需要做一些备份之类的,或者需要导出下表结构导入到其他数据库等,下面这篇文章主要给大家介绍了关于Navicat如何导出Excel格式的表结构的相关资料,需要的朋友可以参考下
    2023-04-04
  • Mysql表,列,库增删改查问题小结

    Mysql表,列,库增删改查问题小结

    下面是我总结的一些基础的sql知识,方便以后使用,需要的朋友参考可以参考下
    2017-07-07
  • MySQL查询数据库所有表名以及表结构其注释(小白专用)

    MySQL查询数据库所有表名以及表结构其注释(小白专用)

    查询数据库所有表的表名、备注,其实也是比较常见的操作,这篇文章主要给大家介绍了关于MySQL查询数据库所有表名以及表结构其注释的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • mysql 5.7.17 以及workbench安装配置图文教程

    mysql 5.7.17 以及workbench安装配置图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.17 以及workbench安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • sql server自动编号的三种方法

    sql server自动编号的三种方法

    自增列是最简单和常见的方法,适用于大多数情况,本文介绍了SQL Server中三种常见的自动编号方法:自增列、序列和触发器,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 详解MySQL如何避免克隆失败后再次初始化

    详解MySQL如何避免克隆失败后再次初始化

    本文章讨论了当您没有足够的磁盘空间来存储两个数据集时,使用带有安全选项DATA DIRECTORY 的 CLONE INSTANCE 命令,所以接下来小编给大家详细的介绍一下,MySQL如何避免克隆失败后再次初始化,需要的朋友可以参考下
    2023-10-10
  • MySQL数据库误操作后快速回滚的方法

    MySQL数据库误操作后快速回滚的方法

    这篇文章主要介绍了MySQL数据库误操作后快速回滚的方法的相关资料,需要的朋友可以参考下
    2016-12-12
  • MySQL数据库SELECT查询表达式解析

    MySQL数据库SELECT查询表达式解析

    这篇文章主要介绍了MySQL数据库SELECT查询表达式解析,文中给大家介绍了select_expr 查询表达式书写方法,需要的朋友可以参考下
    2018-04-04

最新评论