लेन-देन में आपको तीन इंसर्ट जरूर करने चाहिए। मैं शायद आवेषण को संभालने के लिए एक संग्रहीत कार्यविधि लिखूंगा।
संपादित करें:
लेन-देन के साथ संग्रहीत कार्यविधि का एक उदाहरण यहां दिया गया है। पहले डाले गए रिकॉर्ड की आईडी प्राप्त करने के लिए LAST_INSERT_ID() के उपयोग पर ध्यान दें। यह केवल दो टेबल हैं, लेकिन आप इसे तीन टेबल तक बढ़ा सकते हैं।
DELIMITER //
CREATE PROCEDURE new_engineer_with_task(
first CHAR(35), last CHAR(35), email CHAR(255), tool_id INT)
BEGIN
START TRANSACTION;
INSERT INTO engineers (firstname, lastname, email)
VALUES(first, last, email);
INSERT INTO tasks (engineer_id, tool_id)
VALUES(LAST_INSERT_ID(), tool_id);
COMMIT;
END//
DELIMITER ;
और आप इसे ऐसा कहते हैं:
CALL new_engineer_with_task('Jerry', 'Fernholz', '[email protected]', 1);