sql >> Database >  >> RDS >> PostgreSQL

Waarom wordt één ID in een CREATE TABLE dubbel geciteerd, maar de andere niet?

Volgens de handleiding , position is

Het is een gereserveerd woord in standaard SQL. Wat je ziet is waarschijnlijk de uitvoer van pgAdmin of een andere client die alle gereserveerde woorden in de SQL-standaard dubbel citeert wanneer ze als identifiers worden gebruikt.

Deze uitspraak is syntactisch correct:

SELECT position FROM author LIMIT 1;

Je kunt altijd dubbele aanhalingstekens (waardoor de spelling van hoofdletters behouden blijft). Dit werkt ook:

SELECT "position" FROM author LIMIT 1;

Maar dubbele aanhalingstekens zijn hier vereist:

SELECT "where" FROM author LIMIT 1;
SELECT "CaMeL" FROM author LIMIT 1;
SELECT "a-b-c" FROM author LIMIT 1;



  1. Hoe de verborgen veldgegevens in de database in te voegen met behulp van php

  2. SQL ORDER BY met CASE met UNION ALL

  3. Vastleggen van wijzigingsgegevens of bijhouden van wijzigingen - hetzelfde als de traditionele audittrailtabel?

  4. Oracle outer join syntaxis