संक्षेप में, आप लेनदेन (इस पर और doc) ताकि आपकी प्रविष्टियाँ परमाणु हों . यह गारंटी देने का एकमात्र तरीका है कि आपके सभी (या कोई नहीं) डेटा डाला जाएगा। अन्यथा, आप उस स्थिति में आ सकते हैं जिसका आप वर्णन करते हैं कि कुछ सम्मिलन के बाद डेटाबेस अनुपलब्ध हो जाता है और अन्य पूरा करने में असमर्थ होते हैं। एक लेन-देन डेटाबेस को बताता है कि आप जो कर रहे हैं वह सब कुछ या कुछ भी नहीं है और इसलिए कुछ गलत होने पर इसे वापस रोल करना चाहिए।
जब आप सिंथेटिक प्राथमिक कुंजी का उपयोग कर रहे हैं, जैसे आप हैं, PHP और अन्य भाषाएं अंतिम सम्मिलित आईडी प्राप्त करने के लिए तंत्र प्रदान करती हैं। यदि आप इसे पूरी तरह से MySQL में करना चाहते हैं तो आप LAST_INSERT_ID() समारोह। आपके पास इस तरह का कोड होगा:
START TRANSACTION;
INSERT INTO foo (auto,text)
VALUES(NULL,'text'); # generate ID by inserting NULL
INSERT INTO foo2 (id,text)
VALUES(LAST_INSERT_ID(),'text'); # use ID in second table
COMMIT;