sql >> Database >  >> RDS >> PostgreSQL

Ontsnappen aan trefwoordachtige kolomnamen in Postgres

Voeg eenvoudig year toe tussen dubbele aanhalingstekens om te voorkomen dat het wordt geïnterpreteerd als een trefwoord:

INSERT INTO table (id, name, "year") VALUES ( ... );

Uit de documentatie:

Er is een tweede soort identifier:de delimited identifier of de identifier met aanhalingstekens. Het wordt gevormd door een willekeurige reeks tekens tussen dubbele aanhalingstekens ("). Een identifier met scheidingsteken is altijd een identifier, nooit een sleutelwoord. Dus "select" kan worden gebruikt om te verwijzen naar een kolom of tabel met de naam "select", terwijl een niet-geciteerde identifier select zou als een sleutelwoord worden beschouwd en zou daarom een ​​parseerfout veroorzaken wanneer het wordt gebruikt waar een tabel- of kolomnaam wordt verwacht.



  1. SQL niet gelijk aan (!=) Operator voor beginners

  2. Gebruikt Oracle kortsluitevaluatie?

  3. Zoek naar string in tekstkolom in MySQL

  4. De UPDATE-instructie was in strijd met de REFERENCE-beperking - SQL Server / TSQL-zelfstudie, deel 76