【问题标题】:Converting Exec argument $2 type: invalid character ‘b’ looking for beginning of value转换 Exec 参数 $2 类型:寻找值开头的无效字符“b”
【发布时间】:2018-10-16 20:06:23
【问题描述】:

当我尝试用任何字母更新 JSONB 中的归档时出现错误,但如果我用数字更新相同的归档,它的工作就完美了。 sql:转换 Exec 参数 $2 类型:无效字符“b”寻找值的开头。插入类型示例:params["imei_json"] = types.JSONText(params["imei"].(string))

//Update User Information
func (metadata *accountPhoneNumberMetadata) UpdateUserInfo(params map[string]interface{}) error {

    params["imei_json"] = types.JSONText(params["imei"].(string))
    params["device_unique_id_json"] = types.JSONText(params["device_unique_id"].(string))

    tx := metadata.client.MustBegin()

    if _, err := tx.NamedExec(metadata.sqlMetadataUpdate(), params); err != nil {
        tx.Rollback()
        return err
    }

    if _, err := tx.NamedExec(metadata.sqlPhoneNumbers(), params); err != nil {
        tx.Rollback()
        return err
    }

    if _, err := tx.NamedExec(metadata.sqlUpdateRegistrationMetadata(), params); err != nil {
        tx.Rollback()
        return err
    }

    if err := tx.Commit(); err != nil {
        tx.Rollback()
        return err
    }
    return nil
}
func (metadata *accountPhoneNumberMetadata) sqlUpdateRegistrationMetadata() string {
    return `UPDATE registrations.metadata
             SET 
                metadata = 
                    jsonb_set(jsonb_set(metadata, '{react_native_imei, device_imei}', :imei_json),
                    '{react_native_device_info, device_unique_id}', :device_unique_id_json )
             WHERE 
                metadata_id = (SELECT metadata_id FROM registrations.metadata WHERE registration_id = :registration_id               LIMIT 1)`
}

【问题讨论】:

    标签: postgresql go jsonb sqlx


    【解决方案1】:

    我已经决定这样了,只需添加引号即可。 JSON 要求所有字符串都使用双引号

    params["imei_json"] = types.JSONText(`"` + params["imei"].(string) + `"`)
    params["device_unique_id_json"] = types.JSONText(`"` + params["device_unique_id"].(string) + `"`)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 2022-10-24
      相关资源
      最近更新 更多