Description:
When a field type "DATE NOT NULL DEFAULT '0000-00-00'" exists, it won't modify with "ALTER TABLE name MODIFY fieldname DATE NULL".
No errors, no warnings, table schema intact.
How to repeat:
mysql> show create table quantities\G
*************************** 1. row ***************************
Table: quantities
Create Table: CREATE TABLE `quantities` (
`period` int(11) NOT NULL default '0',
`quantityHoliday` int(11) NOT NULL default '0',
`quantityWorkday` int(11) NOT NULL default '0',
`startingDate` date NOT NULL default '0000-00-00',
PRIMARY KEY (`period`,`startingDate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> alter table quantities modify startingDate date null;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show create table quantities\G
*************************** 1. row ***************************
Table: quantities
Create Table: CREATE TABLE `quantities` (
`period` int(11) NOT NULL default '0',
`quantityHoliday` int(11) NOT NULL default '0',
`quantityWorkday` int(11) NOT NULL default '0',
`startingDate` date NOT NULL default '0000-00-00',
PRIMARY KEY (`period`,`startingDate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> alter table quantities modify startingDate date null DEFAULT NULL;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show create table quantities\G
*************************** 1. row ***************************
Table: quantities
Create Table: CREATE TABLE `quantities` (
`period` int(11) NOT NULL default '0',
`quantityHoliday` int(11) NOT NULL default '0',
`quantityWorkday` int(11) NOT NULL default '0',
`startingDate` date NOT NULL default '0000-00-00',
PRIMARY KEY (`period`,`startingDate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)