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>
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".
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>
2014 © webprogramianje.net - Sva prava su zadržana.