为什么mysql中的表有无效的默认值

为什么mysql中的表有无效的默认值,mysql,Mysql,我执行了下面的查询 ALTER TABLE `users` CHANGE `phone` `phone` VARCHAR( 20 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT NULL 结果是 #1067 - Invalid default value for 'phone' 您不能允许它为null,然后将其设置为null作为默认值。您已经为不能为null的列设置了null的默认值

我执行了下面的查询

ALTER TABLE `users` CHANGE `phone` `phone` VARCHAR( 20 ) 
    CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT NULL 
结果是

#1067 - Invalid default value for 'phone' 

您不能允许它为null,然后将其设置为null作为默认值。

您已经为不能为null的列设置了null的默认值