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

MySQL में पहली टेबल पर ट्रिगर लागू करके दूसरी टेबल में रिकॉर्ड डालें

BEFORE INSERT ट्रिगर बनाएं जो पहली टेबल में सम्मिलन होने पर स्वचालित रूप से दूसरी टेबल में एक पंक्ति डालता है।

ट्रिगर सिंटैक्स

DELIMITER //
CREATE TRIGGER trigger_name BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
    INSERT INTO table2 VALUES (val1, val2, ...);
END; //
DELIMITER ;

टेबल बनाना

mysql> CREATE TABLE DemoTable1 (StudentId INT, StudentName VARCHAR(40));
mysql> CREATE TABLE DemoTable2 (Id INT, Name VARCHAR(40));

ट्रिगर बनाना

mysql> DELIMITER //
mysql> CREATE TRIGGER afterinserttrigger BEFORE INSERT ON DemoTable1
FOR EACH ROW
BEGIN
    INSERT INTO DemoTable2 VALUES (10, 'Chris');
END; //
mysql> DELIMITER ;

पहली टेबल में डालें

mysql> INSERT INTO DemoTable1 VALUES(1, 'David');
Query OK, 1 row affected (0.21 sec)

पहली टेबल जांचें

mysql> SELECT * FROM DemoTable1;

आउटपुट:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | David       |
+-----------+-------------+

दूसरी टेबल जांचें (ट्रिगर द्वारा भरा गया)

mysql> SELECT * FROM DemoTable2;

आउटपुट:

+------+-------+
| Id   | Name  |
+------+-------+
| 10   | Chris |
+------+-------+
1 row in set (0.00 sec)

नोट: यह उदाहरण हार्डकोडेड मान डालता है। वास्तविक उपयोग में, सम्मिलित पंक्ति के मानों तक पहुँचने के लिए NEW.column_name का उपयोग करें: INSERT INTO DemoTable2 VALUES (NEW.StudentId, NEW.StudentName);।

  1. - क्या MySQL में ऑटो_इन्क्रीमेंट मान निर्दिष्ट किए बिना रिकॉर्ड डाल सकते हैं?

    हाँ, बिल्कुल। MySQL में AUTO_INCREMENT कॉलम के लिए मान निर्दिष्ट करना वैकल्पिक है। जब आप INSERT स्टेटमेंट में उस कॉलम को छोड़ देते हैं या NULL/0 पास करते हैं, तो MySQL स्वचालित रूप से अगला अनुक्रमिक मान जनरेट करता है। सिंटैक्स विकल्प -- विकल्प 1: कॉलम सूची में ऑटो_इन्क्रीमेंट कॉलम को छोड़ दें INSER

  1. - MySQL में दिनांक रिकॉर्ड डालने का सबसे आसान तरीका - STR_TO_DATE()

    MySQL में STR_TO_DATE() फ़ंक्शन का उपयोग करके विभिन्न स्ट्रिंग फॉर्मेट को दिनांक में बदलकर डाला जा सकता है। सिंटैक्स STR_TO_DATE(string, format) उदाहरण: Jan 2018 फॉर्मेट तालिका बनाएं: mysql> CREATE TABLE DemoTable (JoiningYear VARCHAR(20)); mysql> INSERT INTO DemoTable VALUES (Jan 2018), (Ma

  1. - MySQL में DATE_ADD से तारीख में वर्ष जोड़ें

    UPDATE और DATE_ADD() से मौजूदा तारीखों में अंतराल जोड़ें मौजूदा तारीख कॉलम में वर्ष (या अन्य अंतराल) जोड़ने के लिए UPDATE के साथ DATE_ADD() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec) mysql> insert into