2012-06-20 10 views
5

मैं अपने ऑटो वृद्धि कुंजी में अंतराल मिलता है, यहां तक ​​किऑटो वृद्धि अंतराल जब सम्मिलित करें का उपयोग कर ... यहां तक ​​कि innodb_autoinc_lock_mode साथ चयन = 0

innodb_autoinc_lock_mode = 0 

साथ मैं एक ही सम्मिलित करने के लिए समस्या पृथक ... SELECT कथन । असल में, प्रत्येक INSERT ... चयन कथन तालिका के auto_increment को एक तक बढ़ाता है, भले ही कोई सम्मिलन वास्तव में नहीं किया जाता है (डुप्लिकेट कुंजी)। मेरे मामले में, मैं INSERT IGNORE का उपयोग करता हूं, लेकिन मैंने बिना परीक्षण किया और auto_increment अभी भी गलत तरीके से वृद्धि हुई है।

मुझे इस बारे में चिंता है क्योंकि यह INSERT ... चयन कथन कुछ हद तक उच्च आवृत्ति के साथ चलता है ताकि कुंजी बड़ी तेज़ी से हो रही हो।

यदि कोई रास्ता नहीं है तो मैं इसके साथ रहूंगा, लेकिन क्या इस व्यवहार से बचने का कोई तरीका है?

उत्तर

0

mysql में एक सामान्य समस्या की तरह दिखता है। Personaly मैं बस इसके साथ रहते हैं।

2

यह एक बग है। देखें: हालांकि यह है कि अच्छा विचार है क्योंकि alter table अस्थायी तालिका, प्रतियां डेटा बनाता है और इतने पर नहीं है

ALTER TABLE `test` AUTO_INCREMENT = 1; 
हर insert...select के बाद

..

: http://bugs.mysql.com/bug.php?id=61058
... इसका उपयोग से बच सकते हैं
संबंधित मुद्दे