mariadb declare variable syntax error

adviner picture adviner · Jan 12, 2014 · Viewed 13.2k times · Source

Im using mariadb with heidisql to execute sql:

DECLARE @AccountID INT;

Insert Into accounts(first_name, mi, last_name, email, is_admin, is_enabled, date_created) Values('testfirstname', 'a', 'testlastname', '[email protected]', 1, 1, NOW());

set @AccountID = Last_Insert_Id();

I keep getting an error:

QL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@AccountID INT' at line 1 */

I was looking at the usage of Declare but it says that its used in a Function. Ive tried with a BEGIN/END before the DECLARE and after with the same error.
I new to the mysql syntax where this would work in sql server. so if anyone can let me know what i got wrong it would be appreciated.

Thanks

Answer

Helder Velez picture Helder Velez · Jun 10, 2015

I'm using mariadb version 10.0.19

The above problem is described and has an easy solution
here: Delimiters in the mysql Client

in short:

DELIMITER //
create function .. as usual
BEGIN
.. as usual
END
//
DELIMITER ;

( The accepted solution did not worked ! )