簡體   English   中英

“列引用不明確”GraphQL、PostgreSQL 和 TypeORM

[英]"Column reference is ambiguous" GraphQL, PostgreSQL & TypeORM

如果我在 pgAdmin 中運行下面的查詢,它工作得很好:

UPDATE customer SET token = array_append(token, '123132');

現在,如果我用 TypeOrm 運行它,我會得到“列引用‘token’不明確”

 const result = await getConnection()
    .createQueryBuilder()
    .insert()
    .into(Customer)
    .values([
      {
        orgId: records.orgId,
        token: [records.token],
      },
    ])
    .onConflict(
      `("orgId") DO UPDATE SET token = array_append(token, '123132')`
    )
    .returning("*")
    .execute();

在我看來,查詢是完全一樣的。 我錯過了什么?

先感謝您!

您正在構建的語句是INSERT... ON CONFLICT ,它與UPDATE完全不同。 出現歧義是因為不清楚您是在談論原始列值還是由INSERT提供的新值。

適當地限定列:

SET token = array_append(customer.token, '123132')

來自INSERT的新值將使用excluded進行限定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM