Mysql

命令不同步;你現在不能執行這個命令

  • February 19, 2021

我有一個幾天前工作正常的查詢:

SELECT
   id, title, details, filetype, filepath, size, details, location, datetime, 
   IF(hid=1, 'Anonymous',
       (
           SELECT name 
           FROM users 
           WHERE did = userid
       ))
   AS username 
FROM infotable 
WHERE ext2!='0' 
ORDER BY id DESC 
LIMIT 50

但幾天前,它開始出現錯誤:

命令不同步;你現在不能執行這個命令

我從 PHP 頁面呼叫它,但我也嘗試從 MySQL 的 GUI 中將其作為 SQL 查詢執行。它給出了同樣的錯誤:

在此處輸入圖像描述

google了一下,發現可能是MySQL to MySQLi更新的原因。我嘗試了很多使用 MySQLi 編寫備用查詢,但每次我遇到錯誤(有時是相同的錯誤,有時是其他錯誤)。

我的問題是:

1.這可以稱為:子查詢或多查詢

2. 確切的錯誤是什麼,它的解決方案是什麼?

我認為這個 Stack Overflow 問題與您的查詢有關:

PHP 命令不同步錯誤

這是因為在另一個呼叫之前沒有完全獲取結果。PHP docs 也有一個解決方案:

http://www.php.net/manual/en/mysqli.query.php#102904

另一種可能性是 mysql 伺服器無法傳遞結果,但在執行下一個查詢之前沒有斷開連接。

使用 mysql server 8.0 遇到了這個問題。錯誤日誌顯示排序緩衝區大小的記憶體不足錯誤。增加之後,應用程序中的這些錯誤就消失了。

引用自:https://dba.stackexchange.com/questions/130019