最近、MySQLデータベースを新しいサーバーに移動しました。これにより、以前にMySQLで経験したことのあるいくつかの問題が発生しました。テーブルの列は「デフォルト=>なし」に設定されており、データ型に応じてデフォルト値がテーブルで生成されています。しかし今、テーブルに挿入しようとすると、次のエラーメッセージが表示されます。「#1364-フィールド 'column_name'にデフォルト値がありません」と、テーブルに何も挿入されません。
「デフォルト」に独自の値を選択させるにはどうすればよいですか?
フィールド 'column_name'(およびおそらく他のいくつか)が "NOT NULL"としてチェックされるため、データベースに明確に保存されません。これは、そのフィールドの値がNULL以外のものでなければならないことを意味します(NULL-データなし)
通常、フィールドをnull以外としてマークすると、一部のデータが常にフィールドに存在するようになります。ニーズに応じて、エラーをスローしないようにNULLとしてマークすることもでき、指定されたフィールドに何かを挿入する必要なくDBに保存されます。
2つのオプションがあることを意味します。
フィールドをNULLとしてマークします(フィールドに値が必要かどうかを最初に確認します)。
他の机 your_table
列を変更your_field
your_field
VARCHAR(250)NULL;
フィールドにデフォルト値を追加して、挿入時にデータが提供されない場合は、定義したものを配置します。例えば:
他の机 your_table
列を変更your_field
your_field
VARCHAR(250)NOT NULL DEFAULT 'some_default_value';
そしてもちろん、フィールドタイプを変更するフィールドと一致させます。