DATETIME默认值0 MYSQL 5.5.25

时间:2021-11-01 16:42:47

I'm trying to create these table:

我正在尝试创建这些表:

CREATE  TABLE IF NOT EXISTS `qa_discountcoupons` (
  `discount_code` INT NOT NULL AUTO_INCREMENT ,
  `status_code` INT NOT NULL ,
  `discount_date` DATETIME NOT NULL DEFAULT 0 ,
  PRIMARY KEY (`discount_code`) ,
  INDEX `discounts_to_status` (`status_code` ASC) ,
  CONSTRAINT `discounts_to_status`
    FOREIGN KEY (`status_code` )
    REFERENCES `qa_status` (`status_code` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

But i get this error:

但我得到这个错误:

Error Code: 1067. Invalid default value for 'discount_date'

1 个解决方案

#1


3  

You can use:

您可以使用:

CREATE  TABLE IF NOT EXISTS `qa_discountcoupons` (
 `discount_code` INT NOT NULL AUTO_INCREMENT ,
 `status_code` INT NOT NULL ,
 `discount_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ,
 PRIMARY KEY (`discount_code`) ,
 INDEX `discounts_to_status` (`status_code` ASC) ,
 CONSTRAINT `discounts_to_status`
 FOREIGN KEY (`status_code` )
 REFERENCES `qa_status` (`status_code` )
 ON DELETE NO ACTION
 ON UPDATE NO ACTION)
ENGINE = InnoDB;

from MySQL 5.6.5 and up.

从MySQL 5.6.5开始。

I suggest also checking out the thread on How do you set a default value for a MySQL Datetime column? - which has a lot of comments on this.

我建议还查看关于如何为MySQL Datetime列设置默认值的线程? - 对此有很多评论。

#1


3  

You can use:

您可以使用:

CREATE  TABLE IF NOT EXISTS `qa_discountcoupons` (
 `discount_code` INT NOT NULL AUTO_INCREMENT ,
 `status_code` INT NOT NULL ,
 `discount_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ,
 PRIMARY KEY (`discount_code`) ,
 INDEX `discounts_to_status` (`status_code` ASC) ,
 CONSTRAINT `discounts_to_status`
 FOREIGN KEY (`status_code` )
 REFERENCES `qa_status` (`status_code` )
 ON DELETE NO ACTION
 ON UPDATE NO ACTION)
ENGINE = InnoDB;

from MySQL 5.6.5 and up.

从MySQL 5.6.5开始。

I suggest also checking out the thread on How do you set a default value for a MySQL Datetime column? - which has a lot of comments on this.

我建议还查看关于如何为MySQL Datetime列设置默认值的线程? - 对此有很多评论。