我创建一个带有id和date的简单表,默认值为CURRENT_TIMESTAMP,我很好奇如何设置日期CURRENT_TIMESTAMP + 1年。例如,如果NOW()是2018-01-23 13:57:22,我希望默认值为2019-01-23 13:57:22。我可以在插入新行之前用触发器或代码制作它但是还有其他快捷方式吗?
例如:我如何设置为默认值DATE_ADD(CURRENT_TIMESTAMP,INTERVAL 1年)
答案 0 :(得分:2)
不能manual。
数据类型规范中的DEFAULT值子句表示a 列的默认值。除了一个例外,默认值必须 是一个常数;它不能是一个功能或表达。这意味着, 例如,您不能将日期列的默认值设置为 NOW()或CURRENT_DATE等函数的值。例外 是您可以指定CURRENT_TIMESTAMP作为TIMESTAMP的默认值 和DATETIME专栏。
所以现在唯一的方法就是在表格中插入新行之前使用触发器或手动。