3

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' 

なんで?

4

2 に答える 2

11

矛盾しNOT NULLています... ですが、デフォルトにしますNULL...
削除して次のようにDEFAULT NULL変更NOT NULLNULLます。

ALTER TABLE  `etexts` CHANGE  `etext`  `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL;
于 2010-08-30T13:53:55.850 に答える
1

NOT NULL 列をデフォルトで NULL にすることはできません。

NULLable にしたい場合は、

... COLLATE latin1_swedish_ci NULL 

列に値が指定されていない場合、NULLABLE 列はデフォルトで自動的に NULL になります。

于 2010-08-30T13:56:23.427 に答える