我有像["0", "s", "a"]这样的列表,它是在计算过程中生成的,这个列表应该用postgresql-simple插入到PostgreSQL中,其中第一列是bigint,但当我使用
let vals = map evalVal field :: [String]
execute conn query vals我在错误的类型转换中出错
Incompatible {errSQLType = "int4", errSQLTableOid = Just (Oid 25340),如何让库理解第一个值是int?
发布于 2015-11-26 13:48:29
如果您有三个类型为Int、String和String的列,那么您不能用[String]表示此模式的一行,您必须使用(Int, String, String)。如果您将vals更改为此类型,它应该可以工作。
当然,这意味着生成vals的方式也需要改变,因为map evalVal fields只有在所有字段都是相同类型的情况下才有意义。但这一点的细节取决于evalVal做什么。
https://stackoverflow.com/questions/33928848
复制相似问题