我需要幫助使用 nest/typeorm 執行查詢;
我使用 Typeorm "InjectConnection" 將原始查詢構建到我的 Postgres 資料庫中,給我錯誤的欄位是 user_roles_role.userId 列(注意我來自 userId 是大寫的) 下面
是代碼:
const queryText = `SELECT * FROM user_roles_role WHERE user_roles_role.userId = ${id}`
try {
const rawData = await this.connection.query(queryText);
return rawData;
} catch (err) {
console.log(err);
return err;
}
執行此查詢時出現錯誤,因為 Typeorm 以某種方式強制列名小寫,如下面的 typeorm 錯誤所示(來自 catch(Err))
查詢:'SELECT * FROM user_roles_role WHERE user_roles_role.userId = 1',引數:未定義,driverError:錯誤:列 user_roles_role.userid 不存在
我試過了:
使用單引號和雙引號(不起作用)
完整錯誤:
"query": "SELECT * FROM user_roles_role WHERE user_roles_role.userId = 1", "driverError": { "length": 189, "name": "error", "severity": "ERROR", "code": "42703 ", "hint": "也許你想參考列 >"user_roles_role.userId"。", "position": "37", "file": "parse_relation.c", "line": "3599", "例程": "errorMissingColumn" }
uj5u.com熱心網友回復:
作為 PostgreSQL 敏感的案例,你應該像這樣在雙引號上加上 colmun:
`SELECT * FROM user_roles_role WHERE user_roles_role."userId" = ${id}`
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/349948.html
上一篇:為什么AzureSQL不認為空格和“ZZZZZ”之間有下劃線?
下一篇:運算式樹的用例是什么?
