当前位置: 首页 > 知识库问答 >
问题:

mariadb声明变量语法错误

端木存
2023-03-14

我使用mariadb和heidisql来执行sql:

DECLARE@Account tID INT;

将值('testfirstname','a','testlastname','user@email.com“,1,1,NOW());

set@Account tID=Last_Insert_Id();

我一直收到一个错误:

QL Error(1064):您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以了解在第1行“@AccountID INT”附近使用的正确语法*/

我在看Declare的用法,但它说它在函数中使用。我试着在声明前和声明后使用BEGIN/END,但都出现了同样的错误
我不熟悉mysql语法,在sql server中可以使用这种语法。因此,如果有人能让我知道我做错了什么,我将不胜感激。

谢谢

共有3个答案

叶英哲
2023-03-14

忽略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”表的最后一个插入Id。

彭令秋
2023-03-14

删除声明。这不是必须的。

谯德佑
2023-03-14

我使用的是mariadb版本10.0.19

上面的问题在这里有一个简单的解决方案:mysql客户端中的分隔符

简而言之:

DELIMITER//
创建函数...像往常一样
BEGIN
...像往常一样
END
//
DELIMITER;

(被接受的解决方案不起作用!)

 类似资料:
  • 问题内容: 我偶然发现了一个奇怪的问题,下面的代码无法编译: 错误(代码是linter推荐的代码)。: 注意,确实使用了该变量。 但是,如果我添加了else块-一切都会按预期编译: 这看起来像是编译器中的错误,还是一个已知问题?任何想法?(我正在使用go 1.11) 编辑:到目前为止的所有被告。按照:https : //golang.org/ref/spec#Short_variable_decl

  • 主要内容:标准格式,批量格式,简短格式Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的内存。 声明变量的一般形式是使用 var 关键字: var name type 其中,var 是声明变量的关键字,name 是变量名,type 是变量的类型。 需要注意的是,Go语言和许多编程语言

  • let和const是JavaScript里相对较新的变量声明方式。 像我们之前提到过的,let在很多方面与var是相似的,但是可以帮助大家避免在JavaScript里常见一些问题。 const是对let的一个增强,它能阻止对一个变量再次赋值。 因为TypeScript是JavaScript的超集,所以它本身就支持let和const。 下面我们会详细说明这些新的声明方式以及为什么推荐使用它们来代替v

  • 问题内容: 我不明白这个脚本有什么问题 我希望它在表中插入10个值,但是第二行有错误。 问题答案: MySQL不支持执行存储过程代码的匿名块。 您需要创建一个包含该代码的存储过程,然后调用它。 另外,您在插入语句的末尾缺少分号。我修好了 您可能还想使用concat()而不是+来生成名称,但是我将把更改留给您。 创建过程: 调用过程:

  • 主要内容:类型断言(Type Assertion),类型推断,变量作用域变量是一种使用方便的占位符,用于引用计算机内存地址。 我们可以把变量看做存储数据的容器。 TypeScript 变量的命名规则: 变量名称可以包含数字和字母。 除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。 变量名不能以数字开头。 变量使用前必须先声明,我们可以使用 var 来声明变量。 我们可以使用以下四种方式来声明变量: 声明变量的类型及初始值: 例如: 声明变量的类型,

  • 问题内容: 学习Python,并且有一些基本的疑问。 1.我已经看到变量声明(这里的路径)为 有时,没有显式声明,而是通过进行初始化。 我了解的目的,但建议在其他任何函数中声明变量。 2.如何创建变量以保存自定义类型? 问题答案: 好的,首先是第一件事。 Python中没有“变量声明”或“变量初始化”之类的东西。 我们简单地将其称为“分配”,但可能应该仅将其称为“命名”。 赋值的意思是“现在此名称