在 Hasura 的 Upsert 突变中,要将 update_column
设置为对象级别,可以按照以下步骤进行操作:
- 首先,确保你已经安装并配置了 Hasura GraphQL 引擎,并且已经创建了相应的表和关联关系。
- 在 Hasura 的 GraphQL 界面中,找到你想要进行 Upsert 操作的表,并点击进入该表的详细信息页面。
- 在详细信息页面的左侧导航栏中,选择 "Actions" 选项卡。
- 在 "Actions" 页面中,点击 "Create" 按钮创建一个新的 Action。
- 在创建 Action 的页面中,填写以下信息:
- Action 名称:可以根据你的需求自定义一个名称,比如 "upsertObject"。
- Action 类型:选择 "Mutation"。
- 输入参数:根据你的需求添加相应的输入参数,确保包含需要 Upsert 的对象的相关信息。
- 输出类型:根据你的需求选择适当的输出类型。
- 在 "Action Definition" 部分,填写以下信息:
- Action SQL:编写一个 SQL 查询语句,使用
INSERT ... ON CONFLICT DO UPDATE
语法来实现 Upsert 操作,并在其中使用 update_column
来设置对象级别的更新列。具体的 SQL 语句根据你的表结构和需求而定。 - 例如,假设你有一个名为 "users" 的表,其中包含列 "id"、"name" 和 "email",你想要根据 "id" 进行 Upsert 操作,并且在更新时只更新 "name" 列。你可以使用以下 SQL 语句:
- 例如,假设你有一个名为 "users" 的表,其中包含列 "id"、"name" 和 "email",你想要根据 "id" 进行 Upsert 操作,并且在更新时只更新 "name" 列。你可以使用以下 SQL 语句:
- 在这个例子中,
update_column
就是 "name"。
- 在 "Action Permissions" 部分,根据你的需求设置适当的权限。
- 点击 "Save" 按钮保存并部署你的 Action。
现在,你已经成功创建了一个将 update_column
设置为对象级别的 Upsert 突变。你可以通过调用该 Action 来执行 Upsert 操作,并根据你的需求传递相应的参数。
请注意,以上步骤中的 SQL 示例仅供参考,具体的 SQL 语句和参数取决于你的表结构和需求。此外,还可以根据 Hasura 文档中的指导进一步了解和优化 Upsert 操作的实现方式。
腾讯云相关产品和产品介绍链接地址:
- 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
- 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
- 腾讯云云原生应用引擎(Tencent Cloud Native Application Engine):https://cloud.tencent.com/product/tcnae
- 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
- 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
- 腾讯云移动开发(移动推送、移动分析等):https://cloud.tencent.com/product/mobile
- 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
- 腾讯云区块链(TBaaS):https://cloud.tencent.com/product/tbaas
- 腾讯云元宇宙(Tencent Cloud Metaverse):https://cloud.tencent.com/product/metaverse
请注意,以上链接仅为示例,具体的产品和服务选择应根据实际需求进行评估和选择。