【问题标题】:Update multiple columns in a database using meta keys and meta values使用元键和元值更新数据库中的多个列
【发布时间】:2017-07-09 06:02:18
【问题描述】:

我正在尝试使用各自的元键更新数据库中的多个字段,但它不起作用。它仅在我一次更新它们时才有效。如何更新多个字段?

以下作品:

$sql = "UPDATE wp_usermeta SET meta_value = '$meta_value' WHERE meta_key = '$meta_key' AND user_id= $user_ID";

以下不起作用:

$sql = "UPDATE wp_usermeta SET (meta_value = '$meta_value', meta_key = '$meta_key'), (meta_value = 'The freak I wants', meta_key = 'on_the_weekends_i' WHERE user_id= $user_id)";

【问题讨论】:

标签: php sql database wordpress


【解决方案1】:
UPDATE wp_usermeta SET meta_value = CASE
    WHEN user_id = 1 THEN 329152
    WHEN user_id = 2 THEN 349325
    WHEN user_id = 3 THEN 111592
    ELSE meta_value
    END
WHERE user_id  in (1,2,3)

这里是如何在 MySql 中进行批量更新

【讨论】:

    【解决方案2】:

    请试试这个:

        $metaInfo= [
             [
                'meta_key'=>$meta_key,
                'meta_value'=>$meta_value,
    
              ],
              [
                'meta_key'=>'another key',
                'meta_value'=>'another value',
    
              ],
              [
                'meta_key'=>'another key 1',
                'meta_value'=>'another value 1',
    
              ]
            ];
    
            foreach($metaInfo as $info){
              foreach($info as $field => $value){
                $sql= "UPDATE wp_usermeta SET ($field='$value') WHERE user_id=$user_id";
               //execute here your query
                }
    
    
            }
    

    【讨论】:

    • 您是否执行了您的查询。 ?我只是给你主要的功能代码。您必须执行 $sql 查询。什么是错误?
    • 你能给你的代码看看,你是如何执行查询的。
    • 您必须在 foreach($info as $field => $value){ $sql= "UPDATE wp_usermeta SET ($field='$value') WHERE user_id=$user_id" 中执行查询} 这个块
    猜你喜欢
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 2019-10-30
    • 2012-10-08
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2015-04-11
    相关资源
    最近更新 更多