0

データベースの InnoDB と MyISAM ストレージ エンジンについて質問があります。

テーブルに 5 つの列があり、すべての列が「Not Null」に設定されているとします。MyISAM データベースの 2 つの列だけに値を挿入するクエリを実行すると、エラーは発生せず、レコードがテーブルに挿入され、デフォルトで他の列は空のままになります。しかし、InnoDBデータベースで同じことをすると、「somecolumn could not be null」というエラーが発生します。

私のすべてのテーブルは MyISAM タイプに設定されていますが、私のデータベースは InnoDB であり、この問題が発生しています。

解決する方法はありますか?データベースのタイプをMyISAMに変更するか、すべてのテーブルのすべての列を「Null」値以外に設定するソリューションがいくつかあります。上記よりも良い解決策を知りたいです。

意味があることを願っています。:)

4

1 に答える 1

2

すべての NOT NULL 列に DEFAULT 値を設定します。INSERT で値を指定しない場合は、デフォルト値が使用されます。

于 2012-10-12T18:34:36.177 に答える