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

标签 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

但我只想要年份。 有什么办法吗?

最佳答案

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

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

Click here获取更多日期和时间函数。

附言您应该将该列的数据类型设置为 <a href="http://dev.mysql.com/doc/refman/5.7/en/year.html" rel="noreferrer noopener nofollow">YEAR(4)</a>以确保只输入一年的有效值。

关于Mysql YEAR 如何设置当前年份为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27373655/

相关文章:

php - 查询结果显示问题

mysql - 触发器,同一事件和时间的多个语句

mysql - 如果满足条件,则选择一列

mysql - 获取具有隐私设置的 mysql 行

php - Mysql Error updating record syntax to use near 't suit to the product which is described above' )' 在第 1 行

MySQL 找到无效的外键

php - 即使没有结果,也会在单个 MySql 表中返回所有日期的数据

mysql - PHP MYSQL 删除一定数量(5)行

php - 如何使用 PHP 在 MYSQL 数据库表中插入、更新、删除记录时生成日志

PHP MySQL数据库插入问题