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

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

Mary-Kate Olsen
發布: 2024-11-05 01:46:02
原創
281 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板