View Full Version : دیتا تایپ خاص
hooman.pro
دوشنبه 27 مرداد 1393, 14:48 عصر
دوستان لطفا راهنمایی کنید
میخواهم یک فیلد از جدولم مقادیر اعشاری بین صفر تا 10.5 بپذیرد!
و کلا خارج از این محدوده عددی در هیچ کدام از رکورد ها ثبت نشود چه کار کنم؟
miladamirzadeh
چهارشنبه 29 مرداد 1393, 13:15 عصر
سلام دوست عزیز. در استاندارد SQL دستوری وجود دارد به نام CHECK. این CHECK در SQL Server پیاده سازی شده است اما در MySQL ظاهراً به صورت مستقیم پیاده سازی نشده است. با استفاده از CHECK شما می توانید بر روی یک فیلد محدودیتی خاص علاوه بر محدودیتی که با استفاده از کلیدهای خارجی می توان ایجاد کرد، ایجاد کرد.
اگر نام جدول شما checktest باشد و نام فیلد شما number باشد می توانید تریگری به صورت زیر بر روی جدول تعریف کنید:
CREATE TRIGGER `checktest_BINS` BEFORE INSERT ON `checktest` FOR EACH ROW
BEGIN
IF NEW.number <0 OR NEW.NUMBER>10 THEN
SIGNAL SQLSTATE '12345'
SET MESSAGE_TEXT = 'This is a constraint on checktest.';
END IF;
END
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.