mysql - SQL多个更新查询一个接一个
问题描述
我在下面代码的语法上遇到错误,如果我在应用程序(wordpress)上执行此操作,我会收到一条错误消息,单个更新查询本身可以正常工作,但我需要使用唯一值更新多个 ID立刻。
要说的一件事是,如果我在我的数据库管理器 SQL COMMAND 中运行它,它工作正常,我假设它轮流处理每个查询。任何帮助都会很棒!
UPDATE wp_postmeta
SET meta_value = "299"
WHERE meta_key = '_regular_price'
AND post_id = '2126';
UPDATE wp_postmeta
SET meta_value = "199"
WHERE meta_key = '_sale_price'
AND post_id = '2126';
解决方案
我不知道为什么 Wordpress 无法进行多个更新。他们应该,我认为,正如你所看到的,在 MySQL 中这样做并没有错。如果你真的需要一个更新,你可以这样做:
UPDATE wp_postmeta
SET meta_value = CASE WHEN meta_key = '_regular_price'
THEN '299'
WHEN meta_key = '_sale_price'
THEN '199' END
WHERE
meta_key IN ('_regular_price', '_sale_price') AND
post_id = '2126';
推荐阅读
- entity-framework-core - 如何刷新 EntityFramework core 5 模型或查询过滤器缓存?
- wordpress - 自定义主页和自定义索引页?(WordPress)
- javascript - webrtc:mediaDevices.enumerateDevices() 返回空 deviceId
- reactjs - 如何使用函数为 React-Router 制作地图?
- ios - 如何在 SwiftUI 中将项目与 VStack 内的顶部对齐?
- node.js - 使用 sequelize 在 nodejs 和 Postgres 中插入错误
- android - 在android studio中运行我的第一个flutter应用程序时出现问题
- python - Python 是否有 Parquet 等价物?
- android - 如何在不复制和粘贴其父 onMeasure 实现的情况下修改自定义 TextView WRAP_CONTENT 高度?
- javascript - 如何在 React js 中读取和更新 csv 文件