MySQL でデータの切り捨てとエラー設定を管理する方法: 厳密モードと自動切り捨て?

Linda Hamilton
リリース: 2024-11-04 11:03:02
オリジナル
808 人が閲覧しました

How to Manage Data Truncation and Error Settings in MySQL: Strict Mode vs. Automatic Truncation?

MySQL データの切り捨てとエラー設定の管理

MySQL データベースは、挿入中に長すぎる文字列を処理するときの動作が異なります。あるインスタンスではデータが切り捨てられ、別のインスタンスではエラーが発生する可能性があります。この不一致は、特定の MySQL 設定を通じて管理できます。

デフォルトの MySQL の動作

デフォルトでは、MySQL は「strict」モードで動作します。つまり、テーブルへの入力は、長さの制限を含め、列の仕様と正確に一致する必要があります。文字列が定義された長さを超えると、MySQL は次のエラーをスローします:

ERROR 1406 (22001): Data too long for column 'xxx' at row 1
ログイン後にコピー

厳密モードを無効にしています

この動作を変更し、長すぎる文字列の自動切り捨てを許可するには文字列を使用すると、厳密モード設定を無効にすることができます。 MySQL には 2 つの関連設定があります。

  • STRICT_TRANS_TABLES: トランザクション テーブルの厳密モードを制御します
  • STRICT_ALL_TABLES: すべてのテーブルの厳密モードを制御します

ステップStrict モードを無効にするには:

  1. MySQL Workbench などのツールまたはコマンド ラインを使用して MySQL データベースに接続します。
  2. 次のコマンドを発行して STRICT_TRANS_TABLES および STRICT_ALL_TABLES を無効にします。
SET GLOBAL sql_mode = 'TRADITIONAL';
SET SESSION sql_mode = 'TRADITIONAL';
ログイン後にコピー
  1. SELECT @@sql_mode; を実行して新しい設定を確認します。

Strict モードを無効にした場合の影響

厳密モードを無効にすると、MySQL のデータ検証が緩和され、長い文字列の自動切り捨てが可能になります。ただし、これによりデータ損失や整合性の問題が発生する可能性があることに注意することが重要です。厳密モードを無効にする前に、潜在的な結果を慎重に検討することをお勧めします。

以上がMySQL でデータの切り捨てとエラー設定を管理する方法: 厳密モードと自動切り捨て?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!