2013-02-21 4 views
6

में mysql कनेक्टर का उपयोग कर डेटा डालने से मुझे एक वायर्ड समस्या का सामना करना पड़ा है, जब मैं अपने डेटाबेस में डेटा डालने वाला हूं, तो यह सम्मिलित नहीं हो रहा है और असफल नहीं हो रहा है (अपवाद फेंक रहा है)! , जब डेटा डुप्लीकेट या गलत तालिका प्रदान की जाती है तो यह अपवाद फेंकता है !!पायथन

यहां मेरा कोड है!

from mysql import connector 
con = connector.Connect(user='root',password='root',database='test',host='localhost') 
cur=con.cursor() 
cur.execute("""insert into user values ('userName', 'passWord')""") 

डेटाबेस test केवल एक तालिका जो users है और 3 क्षेत्रों जो id और username और password है शामिल हैं, उपयोगकर्ता नाम अद्वितीय है और आईडी a_i

टिप्पणी मैं इस क्वेरी का उपयोग किया है है भी! :

"" "उपयोगकर्ता (username, password) मूल्यों ('USERNAME', 'पासवर्ड') में डालने," ""

और कई मायनों कोशिश की, लेकिन कुछ भी नहीं happend (नहीं डाला गया और कोई अपवाद फेंक दिया गया!)

उत्तर

11
from mysql import connector 
con = connector.Connect(user='root',password='root',database='test',host='localhost') 
cur=con.cursor() 
cur.execute("""insert into user values ('userName', 'passWord')""") 
**con.commit()** 
con.close() 

शायद आप डेटाबेस में अपने परिवर्तन करने के लिए con.commit का उपयोग करना भूल जाते हैं।

, के लिए con.commit() का उपयोग न करें प्रत्येक सम्मिलित/अपडेट ऑपरेशन के लिए आपरेशन के समूह के लिए इसका इस्तेमाल करते हैं, एसक्यूएल द्वारा कि तार्किक जोड़ती नियम

3

ऐसा लगता है कि आप शायद अपने परिवर्तन करने के लिए भूल रहे हैं।