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.
Strings müssen in einfache Anführungszeichen gesetzt werden, nicht doppelt. Genau wie in der Dokumentation. –
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');' –
OMG. Ich fühle mich jetzt dumm. –