我有像["0", "s", "a"]
这样的列表,它是在评估过程中生成的,该列表应该插入PostgreSQL中postgresql-simple
,其中第一列是bigint
,但是当我使用<时/ p>
let vals = map evalVal field :: [String]
execute conn query vals
错误的类型转换我有错误
Incompatible {errSQLType = "int4", errSQLTableOid = Just (Oid 25340),
如何让库理解第一个值是int?
答案 0 :(得分:1)
如果您有三列类型Int
,String
,String
,那么您无法用[String]
表示此架构的一行,您有使用(Int, String, String)
。如果您将vals
更改为此类型,则应该可以使用。
当然,这意味着您生成vals
的方式也需要更改,因为map evalVal fields
仅在字段属于同一类型时才有意义。但具体细节取决于evalVal
的作用。