tôi đã có thể tái sản xuất lỗi này với MySQL và phpMyAdmin:
#2014 - Commands out of sync; you can't run this command now
Mở phiên bản này của MySQL:
[email protected]:~$ mysql --version
mysql Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (x86_64) using readline 6.2
Với sự chạy SQL sau qua cửa sổ truy vấn phpmyadmin:
use my_database;
DELIMITER $$
CREATE PROCEDURE foo()
BEGIN
select 'derp' as 'msg';
END $$
CALL foo()$$ <----Error happens here, with or without delimiters.
Tôi không thể gặp lỗi ha ppen thông qua các thiết bị đầu cuối mysql, vì vậy tôi nghĩ rằng đó là một lỗi với phpmyadmin.
Nó hoạt động tốt trên các thiết bị đầu cuối:
mysql> delimiter $$
mysql> use my_database$$ create procedure foo() begin select 'derp' as 'msg'; end $$ call foo() $$
Database changed
Query OK, 0 rows affected (0.00 sec)
+------+
| msg |
+------+
| derp |
+------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Tôi nghĩ rằng lỗi có cái gì để làm với việc thay đổi delimiters giữa truy vấn trong phpmyadmin.
Cách giải quyết: Làm chậm trình thu thập thông tin và chạy từng câu lệnh SQL của bạn khi sử dụng phpmyadmin. phpmyadmin là "bob tác vụ duy nhất", anh chỉ có thể làm một công việc.
Nguồn
2013-12-06 23:11:12
Tôi chỉ cố gắng vấn đề này và nó không làm việc trên máy chủ cơ sở dữ liệu Server: 127.0.0.1 qua giao thức TCP/IP kiểu Server: Phiên bản MariaDB Server: 10.1. 13-MariaDB - phân phối nhị phân mariadb.org Phiên bản giao thức: 10 Người dùng: root @ localhost Bộ ký tự máy chủ: UTF-8 Unicode (utf8) Máy chủ web Apache/2.4.17 (Win32) Mở SSL/1.0.2d PHP/5.6.20 Phiên bản ứng dụng khách cơ sở dữ liệu: libmysql - mysqlnd 5.0.11-dev - 20120503 - $ Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $ Mở rộng PHP: mysqli Tài liệu Phiên bản PHP: 5.6.20 –