回到顶部

阅读目录

Error: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM stroke_rank_top WHERE create_date=20250303 AN

完整错误提示

Error: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM xxx_rank_top WHERE create_date=20250303 AND rank_type=1' at line 1")

DDL

CREATE TABLE `xxx_rank_top` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `create_date` int NOT NULL COMMENT '第几周,每周的周一',
  `rank_type` int NOT NULL COMMENT '榜单类型',
  `rank` int NOT NULL COMMENT '排名',
  `user_id` int NOT NULL COMMENT '用户id',
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `create_date_2` (`create_date`,`rank_type`,`user_id`),
  UNIQUE KEY `create_date` (`create_date`,`rank_type`,`rank`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

sql 语句

SELECT user_id,rank  FROM xxx_rank_top WHERE create_date=20250303 AND rank_type=1;

错误的原因是 rank 是 mysql 的保留关键词,没有用 反引号 包起来,修改后

SELECT user_id, `rank` FROM xxx_rank_top WHERE create_date=%s AND rank_type=%s;

 


^_^
请喝咖啡 ×

本作品由 卓越笔记 采用 知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议 进行许可

前一篇: jmeter 做负载测试和并发测试为什么要选择命令行模式而不是 GUI 模式