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

PostgreSQL-kolonnen 'foo' eksisterer ikke

Du oprettede ved et uheld kolonnenavnet med et efterfølgende mellemrum og formentlig oprettede phpPGadmin kolonnenavnet med dobbelte anførselstegn omkring det:

create table your_table (
    "foo " -- ...
)

Det ville give dig en kolonne, der så ud som om den hed foo overalt, men du skal dobbelt citere det og inkludere mellemrummet, når du bruger det:

select ... from your_table where "foo " is not null

Den bedste praksis er at bruge små bogstaver uden citerede kolonnenavne med PostgreSQL. Der burde være en indstilling i phpPGadmin et eller andet sted, der fortæller den ikke at citere identifikatorer (såsom tabel- og kolonnenavne), men desværre bruger jeg ikke phpPGadmin, så jeg ved ikke, hvor den indstilling er (eller selvom den eksisterer).



  1. 2 måder at returnere ikke-numeriske værdier i SQLite

  2. SQLite returnerede en fejlkode på 14

  3. Hvorfor min pessimistiske låsning af JPA med Oracle ikke virker

  4. Sådan installeres og sikres MariaDB på Debian 9