建表 Date 类型的列,默认当前日期怎样实现


Datetime 列可以设置为当前时间, Date列怎样让它默认值为 当前日期

create table TimeTest (InsertDateTime Datetime default current_timestamp, InsertDate Date default current_date);

实现不了,mysql也是8.0.13之后的版本才实现的,tidb6.5兼容的还是mysql5.7,应用实现或者tidb升级到8.1看看

Mysql 8.0.25-230102 不支持

8.0.13开始支持来着,需要把 CURRENT_DATE用括号括起来:
CREATE TABLE t1 (d DATE DEFAULT (CURRENT_DATE));

1 个赞

又学到了。
根据你提供的SQL,创表成功,默认值正确

就是说 DateTime类型可以,Date类型不行对吧

兼容问题,建议升级一下tidb的版本。

看来得新版本才支持

得新版本支持

师兄,你用什么部署的,是Ti-Opertor部署吗? 这个版本,我部署后PD经常建立集群失败,然后退出。因此起不来。

我用tiup部署