2013-03-15 80 views
0

我剛剛遇到MySQL Commands out of sync; you can't run this command now錯誤。它之前就已經出現了,但這些問題和答案是指應用程序級的代碼。phpmyadmin中的MySQL「命令不同步」

這是我試圖通過phpmyadmin導入的文件。 (這是從真實代碼簡化。)我很困惑,因爲我有其他組中的drop/create/call語句導入罰款的其他文件。

什麼導致錯誤?

DROP PROCEDURE IF EXISTS `c9gtd`.`select_changes`; 

CREATE PROCEDURE `c9gtd`.`select_changes` 
(
    IN `user_id` INT, 
    IN `days` INT 
) 
SELECT 
    0 AS `id` 
; 

CALL `c9gtd`.`select_changes`(-1,-1); -- Test 



DROP PROCEDURE IF EXISTS `c9gtd`.`select_info`; 

CREATE PROCEDURE `c9gtd`.`select_info` (IN `id` INT) -- ERROR IS HERE 
    SELECT 
    0 AS `id` 
; 

CALL `c9gtd`.`select_info`(-1); -- Test 
+0

其他羣組是否使用'SELECT'而沒有'INTO'? – Naltharial 2013-03-16 01:47:28

+0

此外,http://stackoverflow.com/questions/4072488/mysql-error-2014-commands-out-of-sync-when-trying-to-call-consecutive-stored?rq=1因爲代碼適用於我在MySQL Workbench中。 – Naltharial 2013-03-16 01:48:18

回答

1

這是因爲兩個存儲過程都是SELECT。到目前爲止,所有的存儲過程都是UPDATE:在沒有數據返回時,在一個連接中有多個CALL是可以的。