Почему я получаю синтаксическую ошибку при установке переменных в MySQL 5.6? - PullRequest
0 голосов
/ 02 октября 2018

Я пробовал следующее:

use my_db;

SET SESSION query_cache_type=OFF;

SET @CA_FR_ID = '16';
SET @CA_EN_ID = '15';
SET @US_ID = '1';

select * from my_table where my_table.id in (@CA_FR_ID, @CA_EN_ID);

и ...

use my_db;

SET @CA_FR_ID = '16';
SET @CA_EN_ID = '15';
SET @US_ID = '1';

select * from my_table where my_table.id in (@CA_FR_ID, @CA_EN_ID);

и ...

use my_db;

SET @CA_FR_ID := '16';
SET @CA_EN_ID := '15';
SET @US_ID := '1';

select * from my_table where my_table.id in (@CA_FR_ID, @CA_EN_ID);

и ...

use my_db;

SET @CA_FR_ID = '16',
    @CA_EN_ID = '15',
    @US_ID = '1';

select * from my_table where my_table.id in (@CA_FR_ID, @CA_EN_ID);

Каждый из этих результатов приводит к ошибке, которая выдается после первой точки с запятой после SET:

[42000] [1064] В вашем синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'SET

Это странно, потому что я использовал этот синтаксис ранее.И даже копирование / вставка рабочего кода из прошлого теперь возвращает эту ошибку.

РЕДАКТИРОВАТЬ:

Полагаю, я должен был испортить настройку MySQL в более ранней переменнойустановить попытку.Перезапуск MySQL позволил мне выполнить запросы в приведенных выше примерах.

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