如何解决在“:” Where 子句处或附近出现语法错误
how to resolve getting syntax error at or near ":" Where clause
我是编码新手,正在尝试培养新技能。
我在尝试根据 PostgreSQL 任务 table.
中的用户 ID 检索数据时卡住了。
我正在使用 typeorm 来实现这个
以下是我的代码
async getTasks(
getTasksFilterDTO: GetTasksFilterDTO,
user: User,
): Promise<Task[]> {
const { status, search } = getTasksFilterDTO;
const query = this.createQueryBuilder('task');
query.where('task.userId = : userId', { userId: user.id });
const tasks = await query.getMany();
return tasks;
}
我在第
行遇到错误
query.where('task.userId = : userId', { userId: user.id });
错误是 [ExceptionsHandler] 语法错误,位于或接近“:”+736 毫秒
QueryFailedError:“:”或附近的语法错误:“
at new QueryFailedError (C:\tutorials\nestjs-task-management\node_modules\typeorm\error\QueryFailedError.js:11:28)
at Query.callback (C:\tutorials\nestjs-task-management\node_modules\typeorm\driver\postgres\PostgresQueryRunner.js:176:38)
有人可以帮助我理解我犯的错误吗?
您应该删除 :
和 userId
之间的 space:
query.where('task.userId = :userId', { userId: user.id });
我是编码新手,正在尝试培养新技能。
我在尝试根据 PostgreSQL 任务 table.
中的用户 ID 检索数据时卡住了。我正在使用 typeorm 来实现这个 以下是我的代码
async getTasks(
getTasksFilterDTO: GetTasksFilterDTO,
user: User,
): Promise<Task[]> {
const { status, search } = getTasksFilterDTO;
const query = this.createQueryBuilder('task');
query.where('task.userId = : userId', { userId: user.id });
const tasks = await query.getMany();
return tasks;
}
我在第
行遇到错误query.where('task.userId = : userId', { userId: user.id });
错误是 [ExceptionsHandler] 语法错误,位于或接近“:”+736 毫秒 QueryFailedError:“:”或附近的语法错误:“
at new QueryFailedError (C:\tutorials\nestjs-task-management\node_modules\typeorm\error\QueryFailedError.js:11:28)
at Query.callback (C:\tutorials\nestjs-task-management\node_modules\typeorm\driver\postgres\PostgresQueryRunner.js:176:38)
有人可以帮助我理解我犯的错误吗?
您应该删除 :
和 userId
之间的 space:
query.where('task.userId = :userId', { userId: user.id });