文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美國信紙尺寸) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  複製與保留字

19.5.1.26 複製與保留字

當您嘗試從較舊的來源複製到較新的副本,並且在來源上使用在副本上執行的較新 MySQL 版本中為保留字的識別碼時,可能會遇到問題。例如,在 MySQL 5.7 來源上的名為 rank 的資料表欄位,正在複製到 MySQL 8.4 副本時可能會導致問題,因為 RANK 在 MySQL 8.0 中變成保留字。

在這種情況下,複製可能會失敗,並出現錯誤 1064 您的 SQL 語法有錯誤...即使使用保留字命名的資料庫或資料表,或具有使用保留字命名的欄位的資料表已從複製中排除。這是因為每個 SQL 事件都必須由副本在執行前進行剖析,以便副本知道會影響哪個或哪些資料庫物件。只有在剖析事件後,副本才能套用由 --replicate-do-db--replicate-do-table--replicate-ignore-db--replicate-ignore-table 定義的任何篩選規則。

若要解決來源上資料庫、資料表或欄位名稱在副本上會被視為保留字的問題,請執行下列其中一項操作

  • 在來源上使用一個或多個 ALTER TABLE 陳述式,以變更任何資料庫物件的名稱,這些名稱在副本上會被視為保留字,並變更使用舊名稱的任何 SQL 陳述式,改為使用新名稱。

  • 在使用這些資料庫物件名稱的任何 SQL 陳述式中,使用反引號字元 (`) 將名稱寫為引號識別碼。

如需依 MySQL 版本列出的保留字,請參閱 MySQL 伺服器版本參考中的 MySQL 8.0 中的關鍵字與保留字。如需識別碼引號規則,請參閱 第 11.2 節「綱要物件名稱」