MySQL CHECK Tutorial

MySQL CHECK sluzi za proveravanje da li je neki uslov ispunjen prilikom unosenja vrednosti u polje.

Na primer, prilikom pravljenja MySQL source-a za izradu tabele mozemo navesti:

mysql> CREATE TABLE checklijenti
    -> (
    -> p_id int NOT NULL PRIMARY KEY,
    -> ime varchar(255) NOT NULL,
    -> prezime varchar(255),
    -> adresa varchar(255),
    -> grad varchar(255),
    -> CHECK (p_id>0)
    -> );
Query OK, 0 rows affected (0.13 sec)

mysql>

MySQL CHECK na vise kolona

Ukoliko vam je potreban multiple CHECK na vise kolona, tj. pravite tabelu gde u odredjenim kolonama jednostavno moraju postojati podaci prilikom upisa u tabelu, koristete nesto slicno sledecem:

mysql> CREATE TABLE klijenti_bg011
    -> (
    -> p_id int NOT NULL PRIMARY KEY,
    -> ime varchar(255) NOT NULL,
    -> prezime varchar(255),
    -> adresa varchar(255),
    -> grad varchar(255),
    -> CONSTRAINT chk_bg011 CHECK (p_id>0 AND grad='Beograd')
    -> );
Query OK, 0 rows affected (0.20 sec)

mysql>

Prethodnom komandom smo kreirali tabelu klijenti_bg011 sa definisanom "zabranom" chk_bg011 (CONSTRAINT) koja se odnosi na to da p_id mora biti veci od 0, a u polje za grad moze ici samo "Beograd".

Naknadno CHECK Ubacivanje i Uklanjanje.

Moze vam se desiti da zelite vrsiti provere prilikom unosa u tabelu tipa "od sada pa na dalje".

Pri tome cete koristiti ALTER TABLE, kao i uvek:

mysql> ALTER TABLE checklijenti
    -> ADD CHECK (p_id>0);
Query OK, 0 rows affected (0.19 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql>