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 サイトの他の関連記事を参照してください。