首頁  >  文章  >  資料庫  >  如何在 MySQL 中停用嚴格模式?

如何在 MySQL 中停用嚴格模式?

王林
王林轉載
2023-09-14 18:01:021355瀏覽

如何在 MySQL 中禁用严格模式?

更改資料的查詢中缺失值或不正確值的處理由 MySQL 嚴格模式控制。其中包含 CREATE TABLE、UPDATE 和 INSERT 語句。當嘗試在啟用 MySQL 嚴格模式(預設)的情況下處理查詢時,無效或遺失的資料可能會導致警告或失敗。

關閉嚴格模式時,相同的查詢將修改其遺失或不正確的數據,並會導致直接警告。這似乎是期望的結果,但在關閉嚴格模式後,某些活動可能會產生意想不到的效果。例如,如果添加一個值並且其字元數超過允許的數量,則該值將被截斷以適合。

MySQL 的嚴格模式始終處於開啟狀態。可以透過幾種不同的方式停用它。

透過 SQL 停用嚴格模式

可以使用這種方式執行以下命令來停用 MySQL 伺服器上的嚴格模式。

mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"

現在,您可以透過執行以下命令來驗證模式是否已設定 -

mysql -u root -p -e "SELECT @@GLOBAL.sql_mode;"

透過 my.cnf/my.ini 停用嚴格模式:

  • 要進行編輯,請啟動 my.ini 或 my.cnf 檔案(您擁有的檔案取決於您執行的是 Windows 還是 Linux)。

  • 找到以下行

#
sql_mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • 將其變更為以下行:

    如果找不到[mysqld]部分,則將該行插入到該部分下(如果沒有[mysqld]部分,則建立它)。

Create mysqlId in the following way:
sql_mode= ""
  • 要讓修改生效,請重新啟動MySQL服務。

    如果現在無法重新啟動,您可以進入資料庫伺服器並使用下面列出的命令使變更立即生效。如果不執行上述步驟,下次MySQL服務重新啟動時修改就會遺失。

set global sql_mode='';

無論 MySQL 管理員為什麼必須停用嚴格模式,這樣做都是一個簡單的過程。您可以使用此方法在伺服器上停用 MySQL 嚴格模式。

此規則適用於標準版、標準(多語言)版、企業版 (MySQL)、企業多語言版 (MySQL)、企業版 (SQL Server) 和企業版 (MySQL) (SQL Server)

以上是如何在 MySQL 中停用嚴格模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除