MySQL में एक अद्वितीय अनुक्रमणिका का एक कॉलम पर होना आवश्यक नहीं है। आप केवल अपने ALTER TABLE..ADD UNIQUE
में अधिक कॉलम निर्दिष्ट करके अनेक स्तंभों पर एक अद्वितीय अनुक्रमणिका जोड़ सकते हैं कथन:
ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
अब आप एक नियमित INSERT INTO...ON DUPLICATE KEY
. का उपयोग कर सकते हैं बयान।
SQLFiddle DEMO (ध्यान दें कि कई बार दोहराए गए मान नहीं जोड़े गए हैं - बाकी सभी हैं )
नोट :
यदि दोनों में से कोई भी NULL है, तो यह नहीं होगा अद्वितीय के रूप में गिना जाएगा। mykey
'बार' और myfoo
. होना NULL होने को अनंत में जोड़ा जा सकता है, भले ही उनके पास "समान" मान हों (NULL वास्तव में कोई मान नहीं है)।