sql >> Databasteknik >  >> RDS >> PostgreSQL

Undviker nyckelordsliknande kolumnnamn i Postgres

Bifoga bara year inom dubbla citattecken för att förhindra att det tolkas som ett nyckelord:

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

Från dokumentationen:

Det finns en andra typ av identifierare:den avgränsade identifieraren eller identifieraren med citationstecken. Den bildas genom att inkludera en godtycklig sekvens av tecken med dubbla citattecken ("). En avgränsad identifierare är alltid en identifierare, aldrig ett nyckelord. Så "välj" skulle kunna användas för att referera till en kolumn eller tabell med namnet "välj", medan en icke citerad select skulle tas som ett nyckelord och skulle därför provocera fram ett analysfel när det används där ett tabell- eller kolumnnamn förväntas.



  1. MySQL Förberedda uttalanden med en variabel lista med variabel storlek

  2. Tips för att fixa SQL Server Index Fragmentation

  3. Fel 1046 Ingen databas vald, hur löser man det?

  4. Kan jag sammanfoga flera MySQL-rader i ett fält?