首頁 >資料庫 >mysql教程 >如何讓 MySQL 截斷資料而不是在插入時引發錯誤?

如何讓 MySQL 截斷資料而不是在插入時引發錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-05 01:46:02299瀏覽

How to Make MySQL Truncate Data Instead of Raising an Error on Insert?

MySQL 插入行為:截斷與錯誤

MySQL 在嘗試插入超過列長度限制的資料時表現出不同的行為:截斷或錯誤。在這種情況下,我們的目標是修改 MySQL 實例以截斷資料而不是引發錯誤。

解決方案:停用 STRICT_TRANS_TABLES 和 STRICT_ALL_TABLES

預設情況下,MySQL 強制執行嚴格的模式,其中包含設定 STRICT_TRANS_TATABLES 和 STR_ICTTAALLTABLES。這些設定禁止在 INSERT 或 UPDATE 等資料變更作業中出現無效或缺失值。

為了允許自動截斷插入的字串,我們可以停用 STRICT_TRANS_TABLES 和 STRICT_ALL_TABLES。操作方法如下:

<code class="sql">SET SESSION sql_mode=NO_STRICT_TRANS_TABLES,NO_STRICT_ALL_TABLES;</code>

說明:

透過停用這些設置,我們刪除了對無效或缺失值的限制。這允許 MySQL 以靜默方式截斷超過列長度限制的數據,遵循截斷的預設行為。

參考:

MySQL Server SQL 模式:https:// /dev.mysql.com/doc/refman/8.0/en/sql-mode.html

以上是如何讓 MySQL 截斷資料而不是在插入時引發錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn