こんにちは私はテーブルに挿入しようとしていますtester3構文を使用すると失敗します
insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
だが
insert into tester3 values ( 1, 'jishnu1');
正常に動作しています。
mydb=# CREATE TABLE tester3
mydb-# (
mydb(# "UN0" integer,
mydb(# "UN1" VARCHAR(40)
mydb(# );
CREATE TABLE
mydb=# insert into tester3 (UN0, UN1) values ( 1, 'jishnu1');
ERROR: column "un0" of relation "tester3" does not exist
mydb=# \d tester3
Table "public.tester3"
Column | Type | Modifiers
--------+-----------------------+-----------
UN0 | integer |
UN1 | character varying(40) |
私は非常に些細な何かを見逃していると思います、他のいくつかの列名を試してみましたが、一部は正常に機能し、一部は機能しません。私は混乱しています。 PostgreSQLは列名に制限がありますか?機能する挿入クエリの最初の構文は機能しますか?
編集:
そして Frank Heikens が引用符なしで機能していた他の列名を指摘したようにlower case。
小文字の列はPostgreSQL内の標準であり、引用符なしでも機能します
二重引用符で列を定義する場合、列を参照するときにそれらを使用する必要があります。
insert into tester3 ("UN0", "UN1")
values ( 1, 'jishnu1');
CREATE TABLE
ステートメントの列名から二重引用符を削除することをお勧めします。
列名に二重引用符を使用してこれを試してください
insert into tester3 ("UN0", "UN1") values ( 1, 'jishnu1');