全部產品
Search
文件中心

ApsaraDB RDS:MySQL提示:1615: Prepared statement needs to be re-prepared

更新時間:Jun 19, 2024

問題現象

在RDS MySQL執行個體中使用Prepared statement提交SQL時報錯:

1615: Prepared statement needs to be re-prepared

可能原因

該報錯可能由以下兩種原因引入:

  • 原因一:

    Prepared statement的執行過程分2個階段:先執行一次prepare,然後再執行execute(可以多次執行)。

    在執行prepare和execute的間隙,TABLE_SHARE發生了重建(資料被換出換入)。

  • 原因二:

    MySQL 8.0.22引入一個bug,在group_concat_max_len超過4294967295時,會報該錯誤,在MySQL 8.0.26修複了該bug。

解決方案

根據可能原因對應以下兩種解決方案:

  • 方案一:在RDS控制台的參數設定頁面,修改table_definition_cache參數值,建議將參數值設定為{LEAST(DBInstanceClassMemory/1073741824*512, 8192)}。修改方法,請參見設定執行個體參數
  • 方案二:升級執行個體到最新的核心小版本。升級方法,請參見升級核心小版本