بیشترین سرعت را در

سرد ترین دیتا سنتر تجربه کنید


trigger در mysql


به طور مثال اگر بخواهیم محصولی را از جدول product پاک کنیم باید همه اطلاعات مربوط با آن محصول از جداول دیگر مانند product_order و product item حذف شود.

برای این کار باید storage engine همه ی این جداول از نوع innodb باشد (در تب Operations)

سپس در تب structure جداول  product_order و product item برای برقراری ارتباط با جدول product گزینه relation views را انتخاب میکنیم.

در قسمت Constraint properties قسمت column فیلدی از جدول را وارد میکنیم که id جدول product را نگه میدارد و سه ستون دیگر مربوط به جدول product است و در نهایت فیلد id جدول product را انتخاب میکنیم. 

حالا در جدول product وارد تب triggers میشویم و یک trigger اضافه میکنیم. time را before و action را delete انتخاب میکنیم تا قبل از پاککردن یک product اطلاعات مربوطه اش را از جداول دیگر پاک کند. و در آخر defenition را به صورت زیر مینویسیم:

BEGIN
delete from product_item where product_id = OLD.id;
delete from product_order where product_id = OLD.id;
END


Share This Article

نظر خودرا ثبت کنید

Over 4 million customers trust our services and servers

Copyright © 2019 AVIS LTD. All rights reserved.