mysql で、既存のテーブルを次のように変更してみました。
ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT NULL
私は応答を得ました:
#1067 - Invalid default value for 'etext'
なんで?
mysql で、既存のテーブルを次のように変更してみました。
ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT NULL
私は応答を得ました:
#1067 - Invalid default value for 'etext'
なんで?
矛盾しNOT NULLています... ですが、デフォルトにしますNULL...
削除して次のようにDEFAULT NULL変更NOT NULLしNULLます。
ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL;
NOT NULL 列をデフォルトで NULL にすることはできません。
NULLable にしたい場合は、
... COLLATE latin1_swedish_ci NULL
列に値が指定されていない場合、NULLABLE 列はデフォルトで自動的に NULL になります。