我想创建一个带有当前年份的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
但我只想要这一年。 有没有办法做到这一点?
答案 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)
,以确保只输入一年的有效值。