mysql - 在sql中声明和使用变量失败
问题描述
我正在尝试获取所有具有一种或多种“库存”变体的产品。我需要用 SQL 查询来做,但它返回“语法错误”。我认为问题出在变量上。谁能帮我解决这个问题?
SELECT *, @post_id := ID
FROM wp_posts
WHERE post_status='publish'
AND EXISTS (
SELECT * FROM wp_postmeta WHERE post_id IN(
SELECT ID FROM wp_posts WHERE post_parent=@post_id AND
post_type='product_variation'
) AND meta_key='_stock_status' AND meta_value='instock'
)
编辑:现在,在将 =IN() 更改为 IN 并将 EXIST 更改为 EXISTS 后,我没有任何错误,但查询没有返回任何内容。当我用任何数字替换@post_id 时效果很好。这个变量有什么问题?
解决方案
推荐阅读
- java - 通过其他活动的后退按钮更新 Recyclerview onResume 一项的正确方法
- video - Mp4视频中奇怪的NTSC帧时间戳
- kotlin - 如何检查两个布尔值?Kotlin 中的值是正确的
- python - 在绘图散点图中按下按钮时更新轴
- shell - 如何在shell脚本中提取子字符串数组?
- php - 使用 PHP 从 XML 更新、插入和删除到 MySQL
- python - 正则表达式获取文件扩展名 - LUA
- c# - 防止在表单标题栏上右键单击显示系统上下文菜单
- rust - 连接到 Glade 文件中定义的自定义 GTK 信号
- javascript - 用 Java Vert.x 客户端替换 JavaScript SockJS 客户端