sql >> データベース >  >> RDS >> PostgreSQL

演算子は存在しません:integer =? Postgresを使用する場合

    PostgreSQLは番号付きプレースホルダー($1)で動作します 、$2 、...)通常の位置の質問マークではなく、ネイティブに。 Goインターフェースのドキュメントでも、例で番号付きのプレースホルダーが使用されています。

    rows, err := db.Query("SELECT name FROM users WHERE age = $1", age)
    

    Goインターフェースは、多くのインターフェースのように疑問符を番号付きプレースホルダーに変換していないようです。そのため、疑問符はデータベースに到達し、すべてを混乱させています。

    疑問符の代わりに番号付きのプレースホルダーに切り替えることができるはずです:

     row := db.QueryRow(
        "SELECT name FROM users WHERE id = $1", id)
    



    1. PHPとMySQLデータベースを使用した画像のプレビューとアップロード

    2. Oracle CLOBは4000文字を超えて挿入できませんか?

    3. URLで真のデータベースオブジェクトIDを非表示にする

    4. PostgresENUMデータ型またはCHECKCONSTRAINT?