MAMP存储过程:命令不同步错误

时间:2014-12-03 15:19:03

标签: mysql stored-procedures

我已经搜索了很多,并花了好几个小时,但大多数答案似乎更加完善。我似乎有一些基本的误解,我不知道哪个方面。我正在使用MySQL版本5.5.34并且我正在尝试构建存储过程,但每当我调用它时,我都会收到错误:

SELECT
            s.SCHEMA_NAME,
            s.DEFAULT_COLLATION_NAME
               FROM `information_schema`.SCHEMATA s
                GROUP BY BINARY s.SCHEMA_NAME
                ORDER BY BINARY `SCHEMA_NAME` ASC
MySQL said: Documentation

#2014 - Commands out of sync; you can't run this command now 

我首先定义了非常基本的程序

DROP PROCEDURE IF EXISTS get;
SET delimiter //
CREATE PROCEDURE get()
BEGIN
    SELECT 'hey' AS col;
END //

SET delimiter ;

然后尝试用

调用它
CALL get();

发生错误时。目前我正在phpMyAdmin界面中尝试这个。

如果你能指出我正确的方向,我会很高兴的!

由于

2 个答案:

答案 0 :(得分:0)

使用$ this-> db-> reconnect();在调用存储过程之前

答案 1 :(得分:0)

最后,我找到了解决方案。我在OS X上使用的是一个不是最新版本的MAMP,它似乎仍然使用弃用的mysql而不是mysqli。这导致了我的问题中提到的存储过程的一些问题。

然而,更新到当前版本的MAMP解决了这个问题!