journeypost=# INSERT INTO user_data.user_data (username,randomint) VALUES ('mahman',1);
ERROR: array value must start with "{" or dimension information
LINE 1: ... user_data.user_data (username,randomint) VALUES ('mahman...
journeypost=# INSERT INTO user_data.user_data (username,randomint) VALUES {'mahman',1};
ERROR: syntax error at or near "{"
LINE 1: ...O user_data.user_data (username,randomint) VALUES {'mahman',...
journeypost=# INSERT INTO user_data.user_data (username,randomint) VALUES (2,{'mahman',1});
ERROR: syntax error at or near "{"
LINE 1: ...ser_data.user_data (username,randomint) VALUES (2,{'mahman',...
PostgreSQLでは、上記のさまざまなINSERTステートメントは失敗します。私が間違っているのは何ですか?
編集:
私のスキーマ:
journeypost=# \dt user_data.*
List of relations
Schema | Name | Type | Owner
-----------+-----------+-------+-------
user_data | user_data | table | user
(1 row)
私のテーブル:
journeypost=# \d user_data.user_data
Table "user_data.user_data"
Column | Type | Modifiers
-----------+-------------------------+-----------
username | character varying(50)[] | not null
randomint | integer |
Indexes:
"UsernameUnique" PRIMARY KEY, btree (username)
あなたの列username
はarray型であるようであるため、リテラル_'mahman'
_はそうではありません有効な入力。
_'{mahman}'
_でなければなりません:
_INSERT INTO user_data.user_data (username,randomint)
VALUES ('{mahman}',1);
_
(または、代わりにプレーンvarchar
列またはtext
列にします。)
更新により確認されます:character varying(50)[]
は、character varying(50)
のarrayです。