Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MyISAM इंजन तालिका संबंध (MySQL)

ट्रिगर आज़माएं:

विदेशी कुंजी के साथ MyIsam का उदाहरण:

पैरेंट टेबल बनाएं:

CREATE TABLE myisam_parent
(
 mparent_id INT NOT NULL,
 PRIMARY KEY (mparent_id)
) ENGINE=MYISAM;

चाइल्ड टेबल बनाएं:

CREATE TABLE myisam_child
(
 mparent_id INT NOT NULL,
 mchild_id INT NOT NULL,
 PRIMARY KEY (mparent_id, mchild_id)
) ENGINE = MYISAM;

ट्रिगर बनाएं (DELIMITER के साथ):

DELIMITER $$
CREATE TRIGGER insert_myisam_child
BEFORE INSERT ON myisam_child
FOR EACH ROW
BEGIN
    IF (SELECT COUNT(*) FROM myisam_parent WHERE mparent_id=new.mparent_id)=0 THEN
        INSERT error_msg VALUES ('Foreign Key Constraint Violated!');//Custom error
    END IF;
END;$$
DELIMITER ;

टेस्ट केस:

सम्मिलित करने का प्रयास करें (myisam_parent . में 3 पंक्तियाँ बनाएँ और myisam_child . में 6 लाइनें ):

INSERT INTO myisam_parent VALUES (1), (2), (3);
INSERT INTO myisam_child VALUES (1,1), (1,2), (2,1), (2,2), (2,3), (3,1);

डालने का प्रयास करें:

INSERT INTO myisam_child VALUES (7, 1);

यह त्रुटि लौटाता है:

नोट:

यह उदाहरण INSERT . के लिए है , DELETE और UPDATE रीड लिंक के साथ "ट्रिगर" के लिए (शुरुआत में प्रश्न)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GroupBy का उपयोग करते समय MySQL में चयन उपश्रेणी को यादृच्छिक बनाना

  2. जेपीए के माध्यम से यादृच्छिक चयन पंक्तियां

  3. तालिका 'केवल पढ़ने के लिए' है

  4. IOS में amazon RDS कैसे कनेक्ट करें

  5. SQL/PHP:डेटाबेस से शीर्ष 3 सर्वाधिक बिकने वाले उत्पाद दिखाएं