ホームページ >データベース >mysql チュートリアル >MySQL TEXT カラムにデフォルト値を設定できないのはなぜですか?

MySQL TEXT カラムにデフォルト値を設定できないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 15:36:14226ブラウズ

Why Can't MySQL TEXT Columns Have Default Values?

MySQL のテキスト列にデフォルト値を設定できない理由

質問: MySQL のテキスト列ではデフォルト値が許可されないのはなぜですか値?

答え:

MySQL のドキュメントには明確な説明がありませんが、この制限は Windows と他の MySQL バージョン間の不一致に起因すると考えられます。

Windows の動作:

Windows では、 MySQL バージョン 5 では、デフォルト値で TEXT カラムを作成しようとするとエラーが発生します。

Linux およびその他のバージョン:

Linux およびその他のオペレーティング システムでは、MySQL はエラーを発生させます。警告だけです。ただし、この動作は一貫性がなく、異なるプラットフォーム間でデータベース スクリプトを移動するときに問題が発生する可能性があります。

バグ レポート:

この矛盾は、次のセクションでバグ #19498 として報告されています。 MySQL バグトラッカー。この問題は認識されましたが、潜在的な互換性の問題により解決されませんでした。

回避策:

Windows でテキスト列のデフォルト値を禁止する厳密モードを無効にするには、次の手順を実行します。これらの手順:

  1. 「/my.ini」ファイルを編集し、「sql-mode」を見つけます。 line.
  2. 現在の値を「sql_mode='MYSQL40'」に置き換えます。
  3. MySQL サービス (mysql5) を再起動します。

あるいは、次の SQL クエリ (root/admin を想定) access):

mysql_query("SET @@global.sql_mode='MYSQL40'");

これにより、他のバージョンとの互換性を維持しながら、Windows MySQL でデフォルト値を持つテキスト列を作成できるようになります。

以上がMySQL TEXT カラムにデフォルト値を設定できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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