Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

सम्मिलित करने से पहले MySQL ट्रिगर कैसे सेट करें?

<घंटा/>

इसके लिए सिंटैक्स इस प्रकार है -

delimiter //
create trigger yourTriggerName before insert on yourTableName
   FOR EACH ROW
   BEGIN

   yourStatement1
   .
   .
   N
END
//
delimiter ;

ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं -

mysql> create table DemoTable1919
   (
   Value int
   );
Query OK, 0 rows affected (0.00 sec)

यहाँ सम्मिलित करने से पहले MySQL ट्रिगर बनाने की क्वेरी है -

mysql> delimiter //
mysql> create trigger sumis60 before insert on DemoTable1919
   FOR EACH ROW
   BEGIN
   declare custom_message varchar(256);
        IF (SELECT sum(Value) from DemoTable1919) = 60 THEN
           set custom_message= "cannot insert because sum(Value) is greater than 60";
             signal sqlstate '13500'
             set message_text= custom_message;
         END IF;
     END
     //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं और ट्रिगर की कार्यप्रणाली की जांच कर सकते हैं -

mysql> insert into DemoTable1919 values(10);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1919 values(20);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1919 values(30);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1919 values(40);
ERROR 1644 (13500): cannot insert because sum(Value) is greater than 60

  1. MySQL INSERT में डुप्लिकेट पंक्तियों को कैसे रोकें?

    इसके लिए आपको कॉलम के लिए UNIQUE KEY का उपयोग करना होगा। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(30), UNIQUE KEY(FirstName));क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.76 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। अ

  1. MySQL में दोहरे उद्धरण चिह्नों के साथ रिकॉर्ड कैसे सम्मिलित करें?

    दोहरे उद्धरण चिह्नों के साथ रिकॉर्ड सम्मिलित करने के लिए, बैकस्लैश (\) का उपयोग नीचे दिए गए सिंटैक्स के अनुसार करें - सिंटैक्स अपनेTableName मानों में डालें(\yourValue\); आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.63 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें

  1. MySQL में ऑटो-इंक्रीमेंटिंग कॉलम को कैसे रीसेट करें?

    ऑटो-इन्क्रीमेंटिंग कॉलम को रीसेट करने के लिए, TRUNCATE TABLE कमांड का उपयोग करें। उसके बाद, डालने पर, यह कॉलम को रीसेट कर देगा। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1888    (    Id int NOT NULL AUTO_INCREMENT,    PRIMARY KEY(Id)    ); Quer