Ich versuche, eine einfache Einfügung in eine Postgres-Tabelle vorzunehmen, erhalte jedoch die Fehlermeldung, dass der Wert, den ich einzufügen versuche, als Spaltenname interpretiert wird
INSERT INTO "imageTagBusinessMainCategory"
(id, businessMainCategory)
VALUES
(DEFAULT, "auto dealer")
Wobei id als Primärschlüssel eingerichtet ist und automatisch inkrementiert wird und nicht null. Dies sind die Kästchen, die ich angekreuzt habe, als ich die Tabelle in phpPgAdmin eingerichtet habe.
Ich erhalte jedoch diesen Fehler:
ERROR: ERROR: column "auto dealer" does not exist
Query = INSERT
INTO "imageTagBusinessMainCategory"
(id, businessMainCategory)
VALUES
(DEFAULT,
"auto dealer")
Ich habe meinen Tabellennamen in doppelte Anführungszeichen gesetzt, wie ich hier gelesen habe.
Und verwendet, DEFAULT
um die ID automatisch zu erhöhen, wie ich hier gelesen habe, sollte ich.
Irgendwelche Ideen? Vielen Dank!
sql
postgresql
1252748
quelle
quelle
ERROR: ERROR: syntax error at or near "'imageTagBusinessMainCategory'" Position: 13
Antworten:
Verwenden Sie
'auto dealer'
stattdessen. PostgreSQL interpretiert"
als Anführungszeichen für Bezeichner,'
als Anführungszeichen für Zeichenfolgen.Ebenfalls:
Wenn dies ein neues Projekt ist, verwenden Sie keine gemischten Falltabellen. es ist später eine Quelle der Frustration. Anstatt einen beliebigen Fall in Ihren SQL-Anweisungen verwenden zu können, müssen Sie sowohl den Bezeichnernamen angeben als auch den Fall korrekt angeben.
Es ist nicht erforderlich,
id
/ anzugebenDEFAULT
. Sie fordern es auf, das zu tun, was es bereits getan hätte. Ich habe nicht ein DBMS erfüllt , die Sie einschließen erfordertcolumnName
/ ,DEFAULT
wenn Sie es möchten in der Spalte den Standardwert setzen, ich dies so glaube nicht , dass zusätzliche KV Paar geht zu machen , was einem klareren geschieht Code zu lesen später .quelle
ERROR: ERROR: column "businessmaincategory" of relation "imageTagBusinessMainCategory" does not exist
INSERT INTO "imageTagBusinessMainCategory" ("businessMainCategory") VALUES ('auto dealer')
BEARBEITEN: Um den Spaltennamen wurden doppelte Anführungszeichen hinzugefügt
quelle
ERROR: ERROR: column "businessmaincategory" of relation "imageTagBusinessMainCategory" does not exist
thishasareallylongname
konnte also mit zugegriffen werdenselect * from thisHasAReallyLongName
.Postgres, Oracle usw. erwarten, dass der Spaltenname in Anführungszeichen steht, wenn sie Groß- und Kleinschreibung haben. Erstellen Sie also entweder eine Konvention aller Small- oder Caps für Ihre Tabellenspalten oder verwenden Sie Anführungszeichen, wie von David Faber vorgeschlagen
INSERT INTO "imageTagBusinessMainCategory" ("businessMainCategory") VALUES ('auto dealer')
quelle