私はポググレとゴーにはかなり新しいですが、これでしばらくの間苦労しています。私は現在、テーブルからすべてを取得するクエリを送信しようとしています。 私はpostgresの内golang sqlを使用してpostgresでテーブル全体をどのように選択しますか?
SELECT * FROM land_registry_price_paid_uk
を使用しようとすると、それはすべてのものを示しているが、私は、クエリを使用して同じことを行うとき、私は得ます。
sql: expected 16 destination arguments in Scan, not 1
これは現在のコードです。
fmt.Printf("user: %s, password: %s, dbName: %s", user, password, dbName)
connectionString := fmt.Sprintf("user=%s password=%s dbname=%s sslmode=%s", user, password, dbName, "disable")
var err error
a.DB, err = sql.Open("postgres", connectionString)
if err != nil {
log.Fatal(err)
}
rows, err := a.DB.Query("SELECT (*) FROM land_registry_price_paid_uk")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
println(rows)
for rows.Next() {
var name string
if err := rows.Scan(&name); err != nil {
log.Fatal(err)
}
fmt.Printf("this is something: %s\n", name)
何か助けていただければ幸いです。
16個の列を1つの 'name'文字列にスキャンすることはできません。あなたは16のポインタ引数を 'Scan'呼び出しに渡す必要があります。 'SELECT * ... 'の代わりに' name'だけに興味があるなら、 'SELECT name ...'を実行するか、必要な列名を指定してください。 – mkopriva