ホームページ  >  記事  >  データベース  >  MySQL で挿入時にエラーを発生させる代わりにデータを切り捨てるようにするにはどうすればよいですか?

MySQL で挿入時にエラーを発生させる代わりにデータを切り捨てるようにするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 01:46:02223ブラウズ

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

MySQL の挿入動作: 切り捨てとエラー

MySQL は、カラムの長さ制限を超えるデータを挿入しようとすると、切り捨てまたはエラーというさまざまな動作を示します。 。このシナリオでは、エラーを発生させるのではなく、データを切り捨てるように MySQL インスタンスを変更することを目的としています。

解決策: STRICT_TRANS_TABLES と STRICT_ALL_TABLES を無効にします

デフォルトでは、MySQL は strict を強制します。モードには、STRICT_TRANS_TABLES および STRICT_ALL_TABLES 設定が含まれます。これらの設定では、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。