【问题标题】:Replace multiple values - MySQL替换多个值 - MySQL
【发布时间】:2023-03-15 06:25:02
【问题描述】:
       table 1                                     table 2

+---------+------------+                    +---------+------------+
| post_id | meta_value |                    |    ID   | post_title |
+---------|------------+                    +---------|------------+
|    1    |   value_a  |                    |    1    | title_abc  |
+---------|------------+                    +---------|------------+
|    2    |   value_b  |                    |    2    | title_xyh  |
+---------|------------+                    +---------|------------+
|    3    |   value_c  |                    |    3    | title_jer  |
+---------|------------+                    +---------|------------+
| .....   | .........  |                    |   ..... |   .......  |
+---------|------------+                    +---------|------------+
|   999   | value_xyzw |                    |   999   | title_bhw  |
+---------|------------+                    +---------|------------+

我有 2 张桌子。我尝试将post_title(表2)中的记录替换为meta_value{表1)。

例子:

value_a替换title_abc

value_b替换title_xyh

value_c替换title_jer

............

谢谢!

【问题讨论】:

    标签: mysql sql database phpmyadmin


    【解决方案1】:

    你想要一个update 和一个join

    update table1 t1 join
           table2 t2
           on t1.post_id = t2.id
        set t1.meta_value = t2.post_title;
    

    【讨论】:

    • 我尝试添加另一个条件:meta_key = custom_titlemeta_key 是 table1 中的另一列
    • 好的。我明白了:and t2.meta_key like 'custom_title'
    【解决方案2】:
    UPDATE table1, table2 SET table1.metavalue = table2.post_title 
    WHERE table1.id = table2.id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 2011-09-10
      • 2022-01-22
      • 2012-10-03
      相关资源
      最近更新 更多