You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在sqlc(搭配pgx)中正确使用布尔类型

在sqlc(搭配pgx)中正确使用布尔类型的解决方法

问题场景

使用sqlc搭配pgx开发,配置完sqlc.yaml、schema.sql、query.sql后,生成的Go代码里CreateUserParams结构体的Superuser字段类型为pgtype.Bool。尝试将普通bool类型变量直接赋值给该字段时,出现以下错误:

cannot use superuser (variable of type bool) as pgtype.Bool value in struct literal

解决方法

pgtype.Bool是pgx提供的带有效性标记的结构体类型,而非原生布尔类型。需要通过结构体初始化的方式赋值,明确指定布尔值并标记该值有效:

Superuser: pgtype.Bool{Bool: superuser, Valid: true}

修改后即可解决类型不匹配的问题,让sqlc正确处理这个布尔参数。

内容的提问来源于stack exchange,提问作者Bino Oetomo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 16:02:03