mysql - can I set VARCHAR default value as NULL?
-
25-09-2019 - |
Question
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?
Solution
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;
OTHER TIPS
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
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow