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

  • Jejoab

    Jejoab

    4 NİSAN 2008
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • TechXCentral

    TechXCentral

    12 Temmuz 2011