mysqlmysql-error-1067

mysql - can I set VARCHAR default value as NULL?


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;