在 mysql 控制台中,我们将使用 delimiter 命令来更改分隔符,这对定义过程很有用。我 delimiter只了解 mysql 客户端的命令(客户端命令)。
但我使用不具有该命令的MySQL客户端delimiter
一样dbslayer,对这种客户我该怎么定义程序。
现在考虑:
create procedure test_pro()
begin
select 'hello pro';
end
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
mysql -u root -pmypass test < proc_file
Run Code Online (Sandbox Code Playgroud)
其中 proc_file 包含上述过程;
但这给了我以下错误:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Run Code Online (Sandbox Code Playgroud)
事件我尝试了以下
create procedure test_pro()
begin
select 'hello pro';
end;
Run Code Online (Sandbox Code Playgroud)
(添加了尾随分号)但我得到了同样的错误。 …
mysql服务器系统变量差不多有277个。在这些变量中,有些变量是动态的,而很少是动态的。
我不明白只读变量背后的原因是什么。为什么mysql系统变量很少是只读的。如果他们使这些变量动态化将会发生什么。
只读变量有什么深层原因吗?
现在我们可以考虑:
我们还可以在http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html找到许多其他变量
当然,我知道我们不能像这样改变变量version。但许多其他变量log-bin都不是动态的。general_log对我来说,如果和是动态的就没有意义log_slow_queries。为什么 log-bin 不是动态的?同样,还有许多其他变量。