MySQL 9.0 版本注意事項
當複製各種 CREATE ... IF NOT EXISTS
語句時,MySQL 會套用這些規則
每個
CREATE DATABASE IF NOT EXISTS
語句都會被複製,無論資料庫是否已存在於來源上。同樣地,每個沒有
SELECT
的CREATE TABLE IF NOT EXISTS
語句都會被複製,無論資料表是否已存在於來源上。這包括CREATE TABLE IF NOT EXISTS ... LIKE
。CREATE TABLE IF NOT EXISTS ... SELECT
的複製遵循稍微不同的規則;如需更多資訊,請參閱第 19.5.1.7 節,「CREATE TABLE ... SELECT 語句的複製」。無論語句中命名的事件是否已存在於來源上,都會一律複製
CREATE EVENT IF NOT EXISTS
。只有在成功時,才會將
CREATE USER
寫入二進制日誌。如果語句包含IF NOT EXISTS
,則視為成功,並且只要語句中命名的至少一個使用者被建立,就會記錄;在這種情況下,該語句會以書寫方式記錄;這包括對未建立的現有使用者的引用。如需更多資訊,請參閱 CREATE USER 二進制日誌。如果成功執行
CREATE PROCEDURE IF NOT EXISTS
、CREATE FUNCTION IF NOT EXISTS
或CREATE TRIGGER IF NOT EXISTS
,則會將整個語法(包括IF NOT EXISTS
子句)寫入二進制日誌,無論該語法是否因物件(程序、函數或觸發器)已存在而引發警告。