Mysql - подготовленная замена переменной оператора с подзапросом - PullRequest
0 голосов
/ 22 февраля 2019

Следующий запрос отлично работает на MySql версии 5.7.25 и возвращает столбцы «a», «b», «c» и «days».Но в версии 5.1.73 он все еще работает, но возвращает только 1 столбец - 'days'.

PREPARE stmt1 FROM '
SELECT
  results.*
FROM
(
  SELECT
    ? AS a,
    ? AS b,
    ? AS c,
    DATEDIFF(?, ?) AS days
) AS results
';

SET @a = '2018-09-04';
SET @b = '2018-10-04';
SET @c = 'TESTTESTTEST';
EXECUTE stmt1 USING @a, @b, @c, @b, @a;

Кто-нибудь знает, как я могу получить все столбцы, возвращенные в версии 5.1.73?

ОБНОВЛЕНИЕ - Temp Fix, пока мы не сможем обновить:

SELECT
    IFNULL(?,"") AS a,
    IFNULL(?,"") AS b,
    IFNULL(?,"") AS c,
...

, кажется, работает как ожидалось.

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