PostgreSQL异构插入

时间:2015-11-26 00:40:53

标签: postgresql haskell

我有像["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?

1 个答案:

答案 0 :(得分:1)

如果您有三列类型IntStringString,那么您无法用[String]表示此架构的一行,您有使用(Int, String, String)。如果您将vals更改为此类型,则应该可以使用。

当然,这意味着您生成vals的方式也需要更改,因为map evalVal fields仅在字段属于同一类型时才有意义。但具体细节取决于evalVal的作用。