建表 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));

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

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

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