जब एक mysql innodb लेनदेन में, मैं एक डुप्लिकेट कुंजी त्रुटि रोलबैक का कारण बनने की अपेक्षा करता हूं। ऐसा नहीं करता है, इसके बजाय यह केवल एक त्रुटि फेंकता है और अगले आदेश पर जारी है। एक बार COMMIT कमांड पहुंचने के बाद, लेनदेन किया जाएगा, डुप्लिकेट कुंजी कमांड का कारण बनता है।डुप्लिकेट कुंजी त्रुटि रद्द/रोलबैक mysql लेनदेन
इस अपेक्षित व्यवहार है? यदि हां, तो कोई इसे स्थापित करने के बारे में कैसे जायेगा ताकि लेन-देन को तब किया जा सके जब ऐसी त्रुटि होती है?
परीक्षण वातावरण:
CREATE TABLE `test` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
BEGIN;
INSERT INTO test VALUES (5);
INSERT INTO test VALUES (5);
COMMIT;
अपेक्षित परिणाम: एक डालने डुप्लिकेट की वजह से विफल रहता है तालिका test
मूल्य 5
इन्हें भी देखें:: http://dev.mysql.com/doc/refman/5.0/en/innodb-error-handling
आपको एक त्रुटि हैंडलर है कि लेनदेन रोलबैक होगा घोषित करने के लिए है। एचटीएमएल –