MySQL CHECK kısıtlaması çalışmıyor | Netgez.com
SORU
22 Ocak 2010, Cuma


MySQL CHECK kısıtlaması çalışmıyor

Ä°lk olarak bir tablo gibi oluÅŸturdum

CREATE TABLE Customer (
  SD integer CHECK (SD > 0),
  Last_Name varchar (30),
  First_Name varchar(30)
);

ve sonra bu tablodaki deÄŸerleri eklenir

INSERT INTO Customer values ('-2','abc','zz');

MySQL bir hata göstermiyor, değerlerini kabul etti.

CEVAP
22 Ocak 2010, Cuma


MySQL Reference Manual diyor ki:

CHECK yan ayrıştırılmış ama tüm depolama motorları tarafından dikkate alınmaz.

Bir tetikleyici olabilir

mysql> delimiter //
mysql> CREATE TRIGGER trig_sd_check BEFORE INSERT ON Customer 
    -> FOR EACH ROW 
    -> BEGIN 
    -> IF NEW.SD<0 THEN 
    -> SET NEW.SD=0; 
    -> END IF; 
    -> END
    -> //
mysql> delimiter ;

Bu yardımcı olur umarım.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • Rootjunky.com

    Rootjunky.co

    22 EKÄ°M 2011
  • TomKNJ

    TomKNJ

    26 ÅžUBAT 2007