我有一个名为CreatedDate的列,我想为该列设置以下格式的默认值:
默认值:- yyyy-mm-dd 00:00:00.000
我尝试了多种解决方案,如使用DATETIME数据类型、TIMESTAMP等,但它们都不能接受默认值。
请问有人可以分享一下您的想法吗?
谢谢!
我有一个名为CreatedDate的列,我想为该列设置以下格式的默认值:
默认值:- yyyy-mm-dd 00:00:00.000
我尝试了多种解决方案,如使用DATETIME数据类型、TIMESTAMP等,但它们都不能接受默认值。
请问有人可以分享一下您的想法吗?
谢谢!
如果您使用毫秒精度定义列,则所显示的格式是默认的日期时间格式。
演示:
mysql> create table mytable (id serial primary key, ts datetime(3));
Query OK, 0 rows affected (0.01 sec)
mysql> insert into mytable set ts = now();
Query OK, 1 row affected (0.01 sec)
mysql> select * from mytable;
+----+-------------------------+
| id | ts |
+----+-------------------------+
| 1 | 2023-03-06 09:15:34.000 |
+----+-------------------------+
无法更改日期时间的默认格式。日期时间不是以字符串形式存储的,而是以二进制值存储的。您必须使用DATE_FORMAT()函数来显示不同的格式。
如果您只想将默认值设置为特定的硬编码值,可以使用以下方法
ALTER TABLE tableName ALTER CreatedDate SET DEFAULT "2017-06-28 00:00:00.000";
查看ALTER TABLE语句文档