PostgreSQL 与 TypeORM 错误“在 \"Sep\" 处或附近出现语法错误”
Posted
技术标签:
【中文标题】PostgreSQL 与 TypeORM 错误“在 \\"Sep\\" 处或附近出现语法错误”【英文标题】:PostgreSQL with TypeORM error "syntax error at or near \"Sep\""PostgreSQL 与 TypeORM 错误“在 \"Sep\" 处或附近出现语法错误” 【发布时间】:2020-12-26 02:52:04 【问题描述】:尝试从 graphQL 发帖时出现错误消息,显然这是一个语法错误,我对 SQL 不太熟悉,所以我不知道错误是什么。我也在使用 TypeORM,所以我不知道这里怎么会出现语法错误。
"query": "INSERT INTO \"post\"(\"title\", \"text\", \"points\", \"creatorId\", \"createdAt\", \"updatedAt\") VALUES ($1, $2, DEFAULT, DEFAULT, Sat Sep 05 2020 15:49:01 GMT+0200 (Central European Summer Time), Sat Sep 05 2020 15:49:01 GMT+0200 (Central European Summer Time)) RETURNING \"id\", \"points\", \"createdAt\", \"updatedAt\"",
这是错误信息: "message": ""Sep" 或附近的语法错误",
使用 INSERT INTO 时会发生错误,并且错误说它发生在“Sep”这个词上,所以很明显日期或某些东西有问题,尽管我不明白这有什么意义。
这是帖子解析器
@ObjectType()
@Entity()
export class Post extends BaseEntity
@Field()
@PrimaryGeneratedColumn()
id!: number;
@Field()
@Column()
title!: string;
@Field()
@Column()
text!: string;
@Field()
@Column( type: "int", default: 0)
points!: string;
@Field()
@Column()
creatorId: number;
@ManyToOne(() => User, (user) => user.posts)
creator: User;
@Field(() => String)
@CreateDateColumn()
createdAt = Date;
@Field(() => String)
@UpdateDateColumn()
updatedAt = Date;
这是突变
@Mutation(() => Post)
async createPost(@Arg("input") input: PostInput,
@Ctx() req: MyContext): Promise<Post>
return Post.create(
...input,
creatorId: req.session!.userId,
).save();
【问题讨论】:
【参考方案1】:您的实体代码中似乎有错字:
@Field(() => String)
@CreateDateColumn()
createdAt : Date; //replace = with :
@Field(() => String)
@UpdateDateColumn()
updatedAt : Date; //replace = with :
【讨论】:
以上是关于PostgreSQL 与 TypeORM 错误“在 \"Sep\" 处或附近出现语法错误”的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 typeorm 在 postgresql 中使用数字数组?
如何为 postgresql MATERIALIZED VIEW 创建 typeorm 实体