首页 > 解决方案 > 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')

标签: mysqlmariadbsubquery

解决方案


您可以对自内连接执行相同操作:

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' 

推荐阅读