I have an existing NOT NULL
column which has a default value. I want to remove the default value so that the user is forced to enter a value.
mysql> SHOW CREATE TABLE items;
CREATE TABLE `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ordering` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
However, when I try to modify the column and set the default to null, mysql throws an error:
mysql> ALTER TABLE items MODIFY ordering INT(11) NOT NULL DEFAULT NULL;
ERROR 1067 (42000): Invalid default value for 'ordering'
How can I remove the default from this column without having to do something crazy like change it to nullable, then remove the default, then change it back to not null?
Best Answer
The answer is to use the following (slightly odd) syntax: