MySQL-设置datatime默认值(0000-00-00 00:00:00)错误问题

问题描述:

最近在做一个项目,需要用到datetime属性,在设置datetime默认值为0000-00-00 00:00:00 会出现错误下面错误

"Invalid default value for 'start_date‘“

原因为:mysql默认为:

ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION

相比较配置文件,我更喜欢改一个默认值,下面为创建成功sql

Create table promo(
  `id` int NOT NULL AUTO_INCREMENT,
  `proto_name` varchar(255) NOT NULL DEFAULT '',
  `start_date` datetime NOT NULL DEFAULT '0000-01-01 00:00:00',
  `end_date` datetime NOT NULL DEFAULT '0000-01-01 00:00:00',
  `item_id` int NOT NULL DEFAULT 0,
  `promo_item_price` double NOT NULL DEFAULT 0,
primary key (`id`)
) ENGINE=InnoDB charset=utf8

只要改动一点,就结果默认值问题。

你可能感兴趣的:(MySQL)