MySql создать переменную из SQL выбора - PullRequest
0 голосов
/ 19 ноября 2018

Есть ли способ создать переменную из select?

set @MY_ID = 'SELECT ID FROM TMS.MY_TABLE WHERE MY_TABLE.UNIQ_COLUMN= 2134';

Код выше работает, но он просто сохраняет строку:

SELECT @MY_ID; возвращает

ВЫБРАТЬ ИД ИЗ TMS.MY_TABLE, ГДЕ MY_TABLE.UNIQ_COLUMN = 2134 '

Мне нужно знать этот идентификатор, чтобы использовать его в качестве внешнего ключа для вставки в другие таблицы

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Другой вариант будет

SELECT 
 ID
FROM 
 TMS.MY_TABLE
INTO @MY_ID
WHERE
 MY_TABLE.UNIQ_COLUMN = 2134

Убедитесь, что результат может содержать только одну запись. Поэтому, скорее всего, вам нужно добавить ORDER BY column LIMIT 1, если MY_TABLE.UNIQ_COLUMN не имеет уникального или первичного ключа

0 голосов
/ 19 ноября 2018

Вы пытаетесь это сделать?

SELECT @MY_ID := ID
FROM TMS.MY_TABLE
WHERE MY_TABLE.UNIQ_COLUMN = 2134;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...