【发布时间】:2018-01-04 22:20:16
【问题描述】:
当我运行命令时
DELIMITER //
它返回此错误:
#42000您的 SQL 语法有错误;检查手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 在第 1 行的“DELIMITER //”附近
show variables like '%version%'
返回
Variable_name Value
------------- -----
innodb_version 5.6.36-82.1
protocol_version 10
slave_type_conversions
version 10.0.32-MariaDB
version_comment Source distribution
version_compile_machine
version_compile_os Linux
version_malloc_library system
我做错了什么?从哪个版本可以使用分隔符命令?
编辑:
我从 cmets 中尝试了这个示例:https://mariadb.com/kb/en/library/delimiters/
它返回此错误:
#42000您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法 'DELIMITER //
附近创建函数 FortyTwo() 返回 TINYINT DETERMINISTIC
BEGIN ' 在第 1 行。
解决方案:
我从DataBase WorkBench v5.3.4b Lite 执行了命令,但失败了。
现在我下载了MySql WorkBench 6.3,该命令可以正常工作。
所以问题出在DataBase WorkBench v5.3.4b Lite。
我建议不要使用这个工具。
我的问题是它在我的 Delphi 7 客户端中仍然失败,所以我想我需要找到更好的连接组件
【问题讨论】:
-
这是完整的命令吗? SQL 错误布局通常倾向于表明错误出现在 分隔符 之前
-
@Martin 是的,这是完整的命令
-
run this example 时会发生什么?从外观上看,您的分隔符需要在 另一个 指令的开头设置,使用 set delimiter
-
您是在命令行上运行它吗?如果是这样,请改用
\d // -
@Martin 我试过了,但失败了。我用结果编辑了我的问题