mysql - MariaDB 以前的版本处理子查询
问题描述
您好,我已经使用 SQL 查询更新了一个函数,该函数在使用 MariaDB 版本10.4.11在我的开发环境中进行测试时可以正常工作
我注意到生产环境使用 MariaDB 版本10.0.38
这个版本不能处理简单的子查询吗?
UPDATE TABLE_NAME
SET issued_marker = 'on'
WHERE COLUMN_ID = (SELECT COLUMN_ID FROM TABLE_NAME WHERE COLUMN_2_ID ='$id')
解决方案
您可以对自内连接执行相同操作:
UPDATE TABLE_NAME t1
INNER JOIN TABLE_NAME t2 ON t1.COLUMN_ID = t2.COLUMN_ID AND t2.COLUMN_2_ID ='$id'
SET t1.issued_marker = 'on'
推荐阅读
- php - Magento 文件路径错误
- google-geocoder - 谷歌地理编码 OVER_QUERY_LIMIT
- python - Django 2.0.2 创建模型时出现问题:AttributeError: 'str' object has no attribute '_default_manager'
- r - 有没有一种方法可以在给定条目的 X 值及其 Y 值作为其高度的情况下绘制图表?
- hyperledger - Hyperledger Composer Rest Server : 认证后,基于 acl 授权
- json - 如何构建一个匹配包含查询的所有字符串的良好正则表达式,以在 ElasticSearch 中获得更好的性能?
- jsp - 除了主页,我的 servlet 不起作用
- python - 用 python、pandas 和 matplotlib 分隔日期列
- python - SyntaxError 试图返回赋值的值
- signals - sigprocmask 后的信号传递