1

Cassandra データベースにマップ値を挿入しようとしています。Go を使用してクライアントを作成しています。現在、「文字列をマップ(varchar、varchar)にマーシャリングできません」というエラーがスローされます。エラーの内容は理解できますが、解決できません。これが私が書いたコードです。

if err := session.Query("INSERT INTO emergency_records
        (mapColumn)
        VALUES (?)",
        "{'key' : 'value'}").Exec();
         err != nil {
            log.Fatal(err)
        }

私が得られないのは、1 つのクエリを途切れのない文字列全体として記述したことであり、このエラーをスローすることなく正常に動作します。それでも、疑問符でそれを分解すると、エラーがスローされます。これは私が見落としていて、ドキュメントで見つけることができなかった単純なものであることは知っていますが、どんな助けでも大歓迎です。

4

1 に答える 1

2

Go casandra クライアントを使用したことはありませんが、マップを文字列ではなくマップとして渡すとうまくいくはずです。

mapValue := map[string]string{"key": "value"}
if err := session.Query("INSERT INTO emergency_records (mapColumn) VALUES (?)", mapValue).Exec(); err != nil {
    log.Fatal(err)
}
于 2016-02-15T06:48:00.123 に答える