2015-07-20 35 views
8
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',... 

以上變化的INSERT語句在PostgreSQL中失敗。我做錯了什麼?無法插入:錯誤:數組值必須以「{」或尺寸信息開頭

編輯:

我的架構:

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) 
+1

「username」和「randomint」的類型是什麼? – Kevin

+0

請**編輯**您的問題,併爲'user_data'添加'create table'語句 –

+0

我應該保留這個問題嗎?現在看來它確實很愚蠢。 –

回答

10

你列username似乎是一個陣列類型,所以字面'mahman'不它的有效輸入。

它必須是'{mahman}'

INSERT INTO user_data.user_data (username,randomint) 
VALUES ('{mahman}',1); 

(或使其純varchar列或text柱代替。)

更新證實了這一點:character varying(50)[]character varying(50)一個陣列

相關問題