You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB创建表时设置列默认值为当前日期的SQL命令

在MariaDB中创建含自动填充当前日期列的数据表

嘿,我来帮你搞定这个问题!要在MariaDB创建数据表时添加一个仅存储当前日期(不带时间戳)的列,并且让它默认值为当前日期,其实用DATE数据类型搭配内置函数就能轻松实现,完全不需要复杂的操作。

核心实现方案

直接在创建表时,给目标列指定DATE类型,并将默认值设为CURRENT_DATE()(简写CURRENT_DATE也生效)。这样插入新行时,如果不主动给这个列赋值,它会自动填充当前系统的日期(格式为YYYY-MM-DD,没有时间部分)。

完整的建表SQL示例如下:

CREATE TABLE your_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    -- 这里可以添加你的其他业务列,比如:
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    -- 关键的日期列
    created_date DATE DEFAULT CURRENT_DATE()
);

验证效果

执行上面的建表语句后,你可以插入一行数据测试一下,不用指定created_date的值:

INSERT INTO your_table (username, email) VALUES ('john_doe', 'john@example.com');

然后查询这行数据:

SELECT created_date FROM your_table WHERE username = 'john_doe';

你会得到类似2024-05-20这样的结果,完全符合只存日期的需求。

额外说明

  • 如果需要确保这个列在插入后不会被自动更新,这个默认值方案就足够了;如果后续有更新行时也要同步更新日期的需求,那可以再结合触发器实现,但这已经超出你当前的提问范围啦。
  • CURRENT_DATE()函数在所有支持的MariaDB版本中都能正常工作,兼容性拉满。

内容的提问来源于stack exchange,提问作者Ionized

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:26:38