mariadb объявляет ошибку синтаксиса переменной
Я использую mariadb с heidisql для выполнения sql:
ОБЪЯВИТЬ @AccountID INT;
Вставить в учетные записи (имя, имя, фамилия, адрес электронной почты, is_admin, is_enabled, дата создания) значения ('testfirstname', 'a', 'testlastname', 'user@email.com', 1, 1, NOW ());
set @AccountID = Last_Insert_Id ();
Я продолжаю получать сообщение об ошибке:
Ошибка QL (1064): у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с @AccountID INT в строке 1 */
Я смотрел на использование Declare, но он говорит, что он используется в функции. Я попытался с BEGIN/END до ЗАЯВКИ и после с той же ошибкой.
Я новичок в синтаксисе MySQL, где это будет работать в SQL Server. так что если кто-нибудь может дать мне знать, что я ошибся, это будет оценено.
Спасибо
4 ответа
Я использую Мариадб версии 10.0.19
Вышеуказанная проблема описана и имеет простое решение
здесь: разделители в клиенте mysql
короче:
РАЗДЕЛИТЕЛЬ //
создать функцию.. как обычно
НАЧАТЬ
.. по-прежнему
КОНЕЦ
//
РАЗДЕЛИТЕЛЬ;
(Принятое решение не сработало!)
У меня была та же проблема, я создал свою хранимую процедуру в дизайне
Я написал свою хранимую процедуру функции вBEGIN
иEND
и это сработало
Просто игнорируйте инструкцию DECLARE и выполните команду Insert.
Insert Into accounts(first_name, mi, last_name, email, is_admin, is_enabled, date_created) Values('testfirstname', 'a', 'testlastname', 'user@email.com', 1, 1, NOW());
set @AccountID = Last_Insert_Id();
SELECT @AccountID;
Вы получите последний вставленный идентификатор таблицы «accounts».