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

MySQL设置CURRENT_TIME为DATETIME默认值时遇1064语法错误求助

解决MySQL 1064语法错误问题

问题根源在created_at字段的默认值设置:

  • 你使用的CURRENT_TIME仅返回时分秒的TIME类型值,和字段定义的DATETIME(日期+完整时间)类型不兼容,导致语法报错
  • MySQL中DATETIME类型的默认值需要用CURRENT_TIMESTAMP,它会生成YYYY-MM-DD HH:MM:SS格式的完整时间,和字段类型匹配

修正后的建表代码:

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT,
    username VARCHAR(30) NOT NULL,
    pwd VARCHAR(255) NOT NULL,
    email VARCHAR(100) NOT NULL,
    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (id)
);

补充说明:MySQL 5.6及以上版本才支持DATETIME类型使用CURRENT_TIMESTAMP作为默认值,若你的版本低于此,可将DATETIME替换为TIMESTAMP类型(TIMESTAMP本身默认支持CURRENT_TIMESTAMP)。

内容的提问来源于stack exchange,提问作者Will S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 08:07:35