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

使用typeorm对接mariadb插入数据报ER_PARSE_ERROR语法错误如何解决?

问题定位

你执行的SQL语句存在语法错误,错误点位于VALUES子句中synonyms字段对应的取值位置为空:
观察你报错日志里的SQL片段:

INSERT INTO `Anime`(..., `en_title`, `synonyms`, `synopsis`, ...) VALUES (DEFAULT, '11111', 'アナザー', 'Another', 'Another', , 'In 1972, ...')

en_title对应的值'Another'之后直接出现了连续两个逗号,中间没有填充任何取值(既没有写NULL也没有写空字符串''),导致MariaDB解析SQL时直接失败,报错位置就是连续逗号之后第一个字符串的起始位置,和你收到的错误提示完全吻合。

修复方案

问题出在TypeORM的实体赋值逻辑:

  • 检查你保存Anime实体时的代码,确认synonyms字段是否出现了未赋值、取值为undefined的情况
  • 如果synonyms字段允许为空的前提下,两种修复方式可选:
    1. 在TypeORM实体定义中给synonyms字段设置默认值,示例代码如下:
    import { Column, Entity } from 'typeorm';
    
    @Entity()
    export class Anime {
      // 其他字段定义
      @Column({ nullable: true, default: null })
      synonyms: string;
    }
    
    1. 在数据保存前手动判空处理,当synonyms取值为空时,手动赋值为null或者空字符串''即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:39:03