sql >> Database teknologi >  >> RDS >> PostgreSQL

Undslippe søgeordslignende kolonnenavne i Postgres

Du skal blot vedlægge year i dobbelte anførselstegn for at forhindre, at det tolkes som et nøgleord:

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

Fra dokumentationen:

Der er en anden slags identifikator:den afgrænsede identifikator eller en anført identifikator. Det er dannet ved at omslutte en vilkårlig sekvens af tegn i dobbelte anførselstegn ("). En afgrænset identifikator er altid en identifikator, aldrig et nøgleord. Så "vælg" kunne bruges til at henvise til en kolonne eller tabel med navnet "vælg", hvorimod en ikke-anførselstegn select ville blive taget som et nøgleord og ville derfor fremkalde en parse-fejl, når det bruges, hvor et tabel- eller kolonnenavn forventes.



  1. VBA-basisklasse og afledt objekt-2

  2. MAX vs Top 1 - hvad er bedre?

  3. Konverter 'tid' til 'datetimeoffset' i SQL Server (T-SQL-eksempler)

  4. Automatisk sletning af fastlåste processer i MS SQL Server