Wenn die Spalte in der Tabelle von Postgres den Namen hat year
, wie sollte die INSERT
Abfrage aussehen , um den Wert für diese Spalte festzulegen?
ZB: INSERT INTO table (id, name, year) VALUES ( ... );
gibt einen Fehler in der Nähe des Jahres Wort.
quelle
MyTable
,myTable
Undmytable
ist genau das gleiche. Mit den Anführungszeichen wird diese Faltung nicht durchgeführt. Also"MyTable"
ist nicht mehr dasselbe wiemytable
.update "user" set "password" = 'value...';
funktioniert einwandfrei ...Wenn Sie in keinen Feldern / Spalten Anführungszeichen angeben, wird diese standardmäßig von Postgres in Kleinbuchstaben geschrieben. Und Postgres überspringt die Überprüfung des Schlüsselworts, wenn es um den Spaltennamen geht.
In Ihrem Fall denke ich nicht, dass es obligatorisch ist, Anführungszeichen hinzuzufügen, wenn es um das geht
columns
. Aber wenn Sie verwendenkeywords
( wird von Postgres) als der NameTable
,Schema
,Function
oderTrigger
etc, müssen Sie entweder doppelte Anführungszeichen verwenden müssen, oder Sie können Schemanamen mit Punkt Verkettung angeben.Angenommen, order ist das von Postgres registrierte Schlüsselwort. In einigen Szenarien müssen Sie dieses Schlüsselwort als Tabellennamen verwenden.
Zu diesem Zeitpunkt können Sie mit Postgres eine Tabelle mit erstellen
keywords
. Das ist das Schöne an Postgres.Um auf die Auftragstabelle zuzugreifen, müssen Sie entweder ein doppeltes Anführungszeichen verwenden oder Sie können den Schemanamen vor dem Tabellennamen eingeben.
Z.B
1.
2.
Ebenso können Sie diese Art der Kombination verwenden. Hoffe das wird dir helfen.
quelle