2016-07-31 15 views
0

Ich habe es schwer, einfache Daten in eine Postgres-Tabelle einzugeben.Problem beim Eingeben von Daten in PostgreSQL

Hier ist die Tabelle:

user=# \d main_attribute_types; 

    Column |   Type   |        Modifiers        
------------+-----------------------+------------------------------------------------------------------- 
id   | integer    | not null default nextval('main_attribute_types_id_seq'::regclass) 
name  | character varying(16) | not null 
field_name | character varying(16) | not null 
Indexes: 
    "main_attribute_types_pkey" PRIMARY KEY, btree (id) 
Referenced by: 
    TABLE "main_additional_attributes" CONSTRAINT "main_addi_attribute_type_id_1cb89d3d_fk_main_attribute_types_id" FOREIGN KEY (attribute_type_id) REFERENCES main_attribute_types(id) DEFERRABLE INITIALLY DEFERRED 

Die Befehle, die ich versucht:

INSERT INTO main_attribute_types (NULL, "Integer", "IntegerField"); 
INSERT INTO main_attribute_types (1, "Integer", "IntegerField); 
INSERT INTO main_attribute_types (id, name, field_name) VALUES (NULL, "Integer", "IntegerField"); 
INSERT INTO main_attribute_types (name, field_name) VALUES ("Integer", "IntegerField"); 

Und jedes Mal, wenn ich einen Fehler:

ERROR: column "Integer" does not exist 
LINE 1: INSERT INTO main_attribute_types VALUES (1, "Integer", "Inte... 
                ^

Das excatly ist, wie es in der offiziellen zu tun Dokumentation auf: https://www.postgresql.org/docs/9.0/static/dml-insert.html

Meine Postgres-Version ist 9.3.13

Ich habe absolut keine Ahnung, warum es nicht funktioniert.

+2

Strings müssen in einfache Anführungszeichen gesetzt werden, nicht doppelt. Genau wie in der Dokumentation. –

+1

Nein, es ist ** nicht ** wie in der Dokumentation. Die Dokumentation verwendet einfache Anführungszeichen, keine doppelten Anführungszeichen. 'INSERT INTO main_attribute_types (NULL, 'Integer', 'IntegerField');' –

+0

OMG. Ich fühle mich jetzt dumm. –

Antwort

0

Versuchen

INSERT INTO main_attribute_types (name, field_name) VALUES ('Integer', 'IntegerField'); 

nicht vergessen, dass die nicht null ist für jede Spalte nicht null definieren.

Verwandte Themen