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

2023-12-07 0 787
目录
  • mysql同表一个字段赋值给另一个字段
  • mysql表table_a B字段值赋值给A字段 update 语句
  • 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同一张表中的一个字段的值替换另一个字段

    要求:

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

    替换成

    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表复制一份),然后使用这种方法。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持悠久资源网。

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Mysql MySQL之同表一个字段如何赋值给另一个字段 https://www.u-9.cn/database/mysql/121392.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务