ホームページ > データベース > mysql チュートリアル > エラーを生成せずに MySQL でデータの切り捨てを有効にする方法?

エラーを生成せずに MySQL でデータの切り捨てを有効にする方法?

Susan Sarandon
リリース: 2024-11-03 13:03:30
オリジナル
766 人が閲覧しました

How to Enable Data Truncation in MySQL without Generating Errors?

MySQL データの切り捨てとエラー処理

MySQL では、カラムの長さ制限を超えるデータの処理はインスタンスごとに異なる場合があります。過剰なデータがエラーを生成せずに切り捨てられる場合もあれば、エラーが発生する場合もあります。この質問では、特定のシナリオでデータの切り捨てを有効にする MySQL 設定について説明します。

問題の説明:

2 つの MySQL インスタンスは、許容される長さを超えるデータを挿入すると異なる動作を示します。 1 つはデータを切り捨て、もう 1 つはエラーを発生させます。この質問では、誤ったインスタンスを変更してデータも切り詰める解決策を求めています。

解決策:

データ挿入中に長い文字列の自動切り詰めを有効にするために、MySQL は次のことを提供します。次の設定:

  • STRICT_TRANS_TABLES: トランザクション内の切り捨て動作を制御します。
  • STRICT_ALL_TABLES: すべてのテーブルにわたる切り捨て動作を制御します。

これらの設定を無効にすると、MySQL は挿入された文字列を自動的に切り捨て、2 つのインスタンス間の動作の違いを解決できます。

MySQL ドキュメントの抜粋:

「厳密モードは、MySQL が INSERT や UPDATE などのデータ変更ステートメントで無効な値または欠落している値を処理する方法を制御します。値が無効になる理由はいくつかあります。たとえば、カラムのデータ型が間違っている可能性があります。挿入される新しい行に、定義に明示的な DEFAULT 句がない非 NULL 列の値が含まれていない場合、値が欠落しています。"

参照:

  • [MySQL サーバー SQL モード](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html)

以上がエラーを生成せずに MySQL でデータの切り捨てを有効にする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート