Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mariadb declare variable syntax error

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

like image 986
adviner Avatar asked Jan 12 '14 01:01

adviner


2 Answers

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 ! )

like image 172
Helder Velez Avatar answered Sep 22 '22 11:09

Helder Velez


Remove the DECLARE. It is not neccessary.

like image 21
Paul Draper Avatar answered Sep 22 '22 11:09

Paul Draper