我使用mariadb和heidisql来执行sql:
声明@帐户ID INT;
插入到帐户(名字,mi,姓氏,电子邮件,是管理员,是启用,创建日期)值('测试名字','a','测试姓氏','user@email.com',1,1,NOW());
如果您有一个新的插入ID,请使用此方法。
我不断收到错误:
QL错误(1064):您的SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,了解在第1行“@AccountID INT”附近使用的正确语法 */
我在看声明的用法,但它说它用在函数中。我试过在声明之前和之后使用BEGIN/END,出现同样的错误。
我对mysql语法很陌生,这将在sql server中工作。所以如果有人能让我知道我错了什么,我将不胜感激。
谢谢
4条答案
按热度按时间kupeojn61#
我使用的是mariadb版本10.0.19
对上述问题进行了描述,并给出了简单的解决方案
here: Delimiters in the mysql Client
简而言之:
限定符//
照常创建函数..
开始
..像往常一样
结束
**//
定界器;**
(可接受的解决方案不起作用!)
nfeuvbwi2#
卸下
DECLARE
。不需要。2nc8po8w3#
只需忽略DECLARE语句,并执行Insert。
将获取“accounts”表的最后插入的ID。
kknvjkwl4#
我在设计中创建存储过程时遇到了同样的问题
第一次
我在
BEGIN
和END
中编写了函数的存储过程,它工作正常