Johdanto
PostgreSQL: ssä ALTER TABLE
lauseketta voidaan käyttää taulukon lisäämiseen, poistamiseen tai muokkaamiseen. Jos taulukkoon halutaan lisätä sarake, ADD COLUMN
lauseke ALTER TABLE
lauseke. Kuitenkin, kohtaat virheen, jos yrität lisätä sarakkeen, joka on jo olemassa. Virhe on helppo välttää käyttämällä IF NOT EXISTS
– vaihtoehtoa ADD COLUMN
– lauseketta. Tämä asetus ohjaa PostgreSQL: ää lisäämään uuden sarakkeen vain, jos sarakkeen nimeä ei ole taulukossa. Tässä artikkelissa, otamme tarkemmin Postgres lisätä sarakkeen jos ei ole olemassa komento ja tarkistaa joitakin esimerkkejä sen käytöstä.
Edeltävät opinnot
saadaksesi kaiken irti tästä opetusohjelmasta, sinun on varmistettava, että pari ehtoa on olemassa:
- PostgreSQL on asennettava tietokoneellesi, jotta voit testata esimerkejämme Postgres ADD-sarakkeesta, jos sitä ei ole olemassa-komennosta.
- sinulla pitäisi olla jonkin verran perustietoa PostgreSQL: stä, jotta voit noudattaa tässä artikkelissa annettuja ohjeita.
The Postgres IF NOT exist syntax
we ’ ll beginning with a quick look the syntax for the IF NOT EXISTS
option in an ALTER TABLE
statement:
1
2 ALTER TABLE TABLE_NAME
ADD COLUMN IF NOT exist column_name |
keskustellaan tästä syntaksista hieman tarkemmin:
- ensin täsmennetään sen taulukon nimi, johon haluamme lisätä sarakkeen.
- annamme
IF NOT EXISTS
– vaihtoehdonADD COLUMN
– lausekkeen jälkeen, minkä jälkeen määritämme sarakkeen nimen ja sen tietotyypin.
IF NOT EXISTS
– valinta tarkistaa, onko taulukossa annettu sarakkeen nimi olemassa. Kun tämä asetus on käytössä, virhettä ei palauteta, jos yrität lisätä jo olemassa olevan sarakkeen.
Postgres jos ei ole olemassa esimerkkiä
ennen kuin edetään, luodaan esimerkkitaulukko, jota käytetään esimerkeissämme:
1
2 3 4 5 |
Create table employees(
id serial primary key, name varchar(50), position varchar(50) ); |
employees
on nyt luotu taulukko.
Lisää sarake
nyt yritetään lisätä taulukkoon uusi sarake, jolla on sama sarakenimi kuin olemassa olevalla sarakkeella. ALTER TABLE
statement:
1
2 |
Alter Table employees add sarakkeen nimi varchar(50);
virhe: Suhdehenkilöiden sarake ”nimi”on jo olemassa |
tämä lausunto palauttaa virheen, koska employees
taulukko on jo olemassa. Virheen välttämiseksi voidaan käyttää vain IF NOT EXISTS
– vaihtoehtoa. Katsotaan, miltä lausuntomme näyttää, kun tämä vaihtoehto on käytössä:
1
2 3
|
ALTER TABLE employees ADD COLUMN if NOT exist name VARCHAR(50);
notice: sarakkeen ”name” of relation ”employees” already exist, skippaa alter table |
huomautus: yllä oleva lausunto ei palauttanut virhettä, mutta se näytti viestin, jossa ilmoitettiin, että samanniminen sarake on jo olemassa.
Mitä luulet tapahtuvan, jos yrität lisätä sarakkeeseen olemassa olevan sarakkeen samannimisen mutta eri tietotyypin? Kokeillaan:
1
2 3 |
ALTER TABLE employees ADD COLUMN IF NOT exist name Text;
notice: SUHDEHENKILÖIDEN sarake ”nimi” on jo olemassa, ohitetaan ALTER-taulukko |
saraketta ei edelleenkään lisätä, koska samanniminen sarake on jo olemassa.
johtopäätös
kun sinun on tehtävä muutos johonkin PostgreSQL-taulukostasi, on helppo lisätä, poistaa tai nimetä sarake uudelleen käyttämällä ALTER TABLE
lauseketta; virhe voi kuitenkin tapahtua, jos yrität lisätä jo olemassa olevaa saraketta. Mahdollisten virheiden välttämiseksi voit käyttää IF ALREADY EXISTS
– vaihtoehtoa ADD COLUMN
– lausekkeen jälkeen ALTER TABLE
lauseketta. Tässä artikkelissa, keskustelimme Postgres lisätä sarake jos jo olemassa lausuma ja tarkasteli joitakin esimerkkejä siitä, miten sitä käytetään. Esimerkeillämme ja vaiheittaisilla ohjeillamme voit lisätä sarakkeita taulukkoon kohtaamatta virheitä omassa PostgreSQL-tietokannassasi.