mariadb版本= 10.0.17-MariaDB-log
目前我无法选择数据库。
use dbname; --->> DO NOT USE THIS (if I use this query, it works well)
UPDATE dbname.t_co_sec_grade A INNER JOIN (
SELECT sec_id
, upper_sec_id
, sec_depth
, sec_name_kr
, IF(upper_sec_id = '111', '004', upper_sec_id) AS modify_upper_sec_id
, sec_depth - 1 AS modify_sec_depth
FROM dbname.t_co_sec_grade ABC INNER JOIN (SELECT @pv := '111') AS .initialisation
WHERE find_in_set(upper_sec_id, @pv) > 0
AND @pv := CONCAT(@pv, ',', sec_id)
) B ON A.sec_id = B.sec_id
SET A.upper_sec_id = B.modify_upper_sec_id, A.sec_depth = B.modify_sec_depth;
为什么会显示“未选择数据库”?
答案 0 :(得分:0)
如果不包括“ use dbname;”行,您的更新确实会遇到问题。
如果您尝试不使用查询而编写查询,则可以使用完全限定的行。
UPDATE [dbname].[schema].[table]
答案 1 :(得分:0)
这是INNER JOIN (SELECT @pv := '111')
引起的MariaDB / MySQL早期版本的问题。您可以更新到已解决此问题的最新版本。