In mysql, i tried changing an existing table like this:
ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT NULL
I got the response:
#1067 - Invalid default value for 'etext'
Why?
It's contradictive... NOT NULL
, but make it default NULL
...
Remove DEFAULT NULL
and change NOT NULL
to NULL
:
ALTER TABLE `etexts` CHANGE `etext` `etext` VARCHAR( 100 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL;
You can't have a NOT NULL column defaulting to NULL.
If you want it to be NULLable then
... COLLATE latin1_swedish_ci NULL
NULLABLE columns will default to NULL automagically if no value is provided for the column
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.