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

CREATE TABLEの1つの識別子が二重に引用されているのに、他の識別子は引用されていないのはなぜですか?

    マニュアルによるとposition

    これは、標準SQLでは予約語です。表示されるのは、おそらくpgAdminの出力です。 または、識別子として使用されるときにSQL標準ですべての予約語を二重引用符で囲む他のクライアント。

    このステートメントは構文的に正しいです:

    SELECT position FROM author LIMIT 1;
    

    できます 常に二重引用符で囲む識別子(これにより、大文字と小文字が混在するスペルが保持されます)。これも機能します:

    SELECT "position" FROM author LIMIT 1;
    

    ただし、ここでは二重引用符が必要です:

    SELECT "where" FROM author LIMIT 1;
    SELECT "CaMeL" FROM author LIMIT 1;
    SELECT "a-b-c" FROM author LIMIT 1;
    



    1. mysqlLIKEクエリに時間がかかりすぎる

    2. ON DUPLICATEKEYUPDATEでのMySQLのデフォルト値エラー

    3. 私のspring+hibernateアプリはjdbc接続を閉じません

    4. 別の製品を持っている場合を除いて、すべての顧客を選択します-SQL