почему возникает этот запрос "База данных не выбрана" - PullRequest
0 голосов
/ 21 мая 2019

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;

Почему я получаю "База данных не выбрана«

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Это проблема с более ранней версией MariaDB / MySQL, вызванная INNER JOIN (SELECT @pv := '111'). Вы можете обновить его до последней версии, в которой исправлена ​​эта проблема.

0 голосов
/ 21 мая 2019

Если вы не включите «use dbname;» линия вы действительно столкнетесь с проблемой с вашим обновлением.

Если вы пытаетесь написать запрос без использования, вы можете использовать полную строку.

UPDATE [dbname].[schema].[table]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...