2015-07-20 6 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',... 

beginnen Die oben variierenden INSERT-Anweisungen in PostgreSQL fehlschlagen. Was mache ich falsch?Kann nicht einfügen: Fehler: Array-Wert muss mit "{" oder Dimension Informationen

EDIT:

Mein Schema:

journeypost=# \dt user_data.* 
      List of relations 
    Schema | Name | Type | Owner 
-----------+-----------+-------+------- 
user_data | user_data | table | user 
(1 row) 

Meine Tabelle:

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

Was sind die Arten von 'Benutzername' und' Randomint'? – Kevin

+0

Bitte ** bearbeiten ** Ihre Frage und fügen Sie die 'create table' Anweisung für' user_data' –

+0

soll ich die Frage halten? Es scheint jetzt ziemlich albern zu sein, dass ich es gesehen habe. –

Antwort

10

Ihre Spalte username scheint ein Array Typ zu sein, so die wörtliche 'mahman' nicht ist gültige Eingabe dafür.

Es wäre '{mahman}' sein müssen:

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

(Oder es eine einfache varchar Spalte oder text Spalte stattdessen machen.)

-Update bestätigt: character varying(50)[] ist ein Array von character varying(50) .