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

MySQL 5.5执行CREATE TABLE语句报1064语法错误求解决

问题解决:MySQL 5.5 CREATE TABLE语法错误修复

错误原因分析

  1. datetime精度不支持:MySQL 5.5版本不支持datetime(1)这种带精度的时间类型定义,该特性是从MySQL 5.6才开始引入的,这正是错误提示指向的核心语法问题。
  2. 标识符语法错误:索引和外键名称sa_user_re[ort中包含非法字符[,会导致SQL解析失败,需改为合法的字母+下划线组合。

修正后的完整SQL语句

CREATE TABLE `sa_report` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `content` longtext,
  `sa_city_id` bigint(20) NOT NULL,
  `create_time` datetime NOT NULL,
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `verify_status` tinyint(1) NOT NULL DEFAULT '1',
  `delete_status` tinyint(1) NOT NULL DEFAULT '0',
  `sa_report_type_id` tinyint(1) NOT NULL COMMENT '帖子类型,救助还是宠物日记',
  `sa_user_id` bigint(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sa_user_report` (`sa_user_id`),
  KEY `sa_report_type_forgkey` (`sa_report_type_id`),
  KEY `sa_report_city_key` (`sa_city_id`),
  CONSTRAINT `sa_report_city_key` FOREIGN KEY (`sa_city_id`) REFERENCES `sa_city` (`id`),
  CONSTRAINT `sa_report_type_forgkey` FOREIGN KEY (`sa_report_type_id`) REFERENCES `sa_report_type` (`id`),
  CONSTRAINT `sa_user_report` FOREIGN KEY (`sa_user_id`) REFERENCES `sa_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

具体修改点

  • 将create_time和update_time字段的datetime(1)改为datetime,适配MySQL 5.5的语法规范。
  • 把索引和外键名称中的sa_user_re[ort修改为sa_user_report,移除非法的[字符,确保标识符名称合法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:27:41