Запрос не будет выполнен в предложении WITH? - PullRequest
0 голосов
/ 07 июля 2019

Я недавно перенес свой сайт на VPS.

При этом запрос, который работал на XAMPP, больше не работает на стороне Linux.

Первые 2 части запроса работают отлично, поэтому я вижу, что проблема связана с предложением WITH, которое я чувствую.

Таблицы в этой базе данных находятся в sql, сохраненном на https://www.db -fiddle.com / ж / 718QhKmgPYALAS4Zg94cPx / 0

Я проверил это на XAMPP mysql, и это работает правильно.

Однако в Linux это не работает.

Я выполняю запрос

SET @DrawID := 3; 
SELECT 120 into @MaxTicketNo FROM draw WHERE ID = @DrawID; 
WITH RECURSIVE TicketNumbers (n) AS (SELECT 1 UNION ALL SELECT n + 1 FROM TicketNumbers WHERE n < @MaxTicketNo) SELECT n FROM TicketNumbers WHERE n NOT IN (SELECT TicketNumber FROM transaction WHERE DrawID = @DrawID) ORDER BY RAND() LIMIT 1;

Я получаю это обратно при выполнении запроса

WITH RECURSIVE TicketNumbers (n) AS (SELECT 1 UNION ALL SELECT n + 1 FROM TicketNumbers WHERE n < @MaxTicketNo) 
SELECT n FROM TicketNumbers WHERE n NOT IN (SELECT TicketNumber FROM transaction WHERE DrawID = @DrawID) 
ORDER BY RAND() LIMIT 1;

ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с 'RECURSIVE TicketNumbers (n) AS (ВЫБЕРИТЕ 1 СОЮЗ ВСЕ ВЫБРАТЬ n + 1 ОТ TicketNumbe' в строке 1 «

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