Mysql YEAR如何将当前年份设置为默认值

时间:2014-12-09 07:37:49

标签: mysql

我想创建一个带有当前年份的PK列的表

CREATE TABLE IF NOT EXISTS `example` (
  `yearId` YEAR NOT NULL DEFAULT year(curdate()),
  PRIMARY KEY (`yearId`))
ENGINE = InnoDB

但这不正确。

我知道我可以保存CURRENT_TIMESTAMP

CREATE TABLE IF NOT EXISTS `example` (
  `yearId` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`yearId`))
ENGINE = InnoDB

但我只想要这一年。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

只需调用YEAR()函数并将该值传递给它。

CREATE TABLE IF NOT EXISTS `example` (
  `yearId` TIMESTAMP NOT NULL DEFAULT YEAR(CURRENT_TIMESTAMP),
  PRIMARY KEY (`yearId`))
ENGINE = InnoDB

Click here了解更多日期和时间功能。

P.S。您应该将该列的数据类型设置为YEAR(4),以确保只输入一年的有效值。