वृद्धि नहीं किया गया था मैं SQLite3 का उपयोग कर डेटाबेस बना रहा था। और मेरा पायथन संस्करण 2.7.5 है।SQLite3 धारावाहिक प्रकार
डेटाबेस बनाने से पहले मैंने बस उदाहरण डेटाबेस बनाया और परीक्षण किया कि यह ठीक से काम करेगा या नहीं। और यह विफल रहा कि id
भी वृद्धि नहीं हुई थी, यहां तक कि ने इसे serial
प्रकार के रूप में घोषित किया था।
data = cur.execute("""SELECT * from sample""")
t = data.fetchall()
In [33]: t
Out[33]: [(None, 3.0), (None, 6.0), (None, 8.0)]
मैं इस उम्मीद:
import sqlite3
con = sqlite3.connect('sample.db')
cur = con.cursor()
cur.execute("""CREATE TABLE sample(id serial,test real)""")
cur.execute("""INSERT INTO sample(test) VALUES(?)""",(3,))
cur.execute("""INSERT INTO sample(test) VALUES(?)""",(6,))
cur.execute("""INSERT INTO sample(test) VALUES(?)""",(8,))
con.commit()
तब मैं सभी डेटा दिलवाया:
मैं साधारण डेटाबेस बनाया Out[33]: [(1, 3.0), (2, 6.0), (3, 8.0)]
लेकिन, आप देख सकते हैं, id
तत्व के सभी None
मैं इस समस्या को कैसे हल कर सकता हूं? मुझे पता है कि मैं केवल एक चर को बढ़ाकर और इसे सम्मिलित करके कर सकता हूं। इस तरह:
id += 1
cur.execute("""CREATE TABLE sample(id serial,test real)""")
id += 1
cur.execute("""INSERT INTO sample(test) VALUES(?)""",(3,))
id += 1
cur.execute("""INSERT INTO sample(test) VALUES(?)""",(6,))
हालांकि, इस भयानक नहीं है? मैं यह नहीं करना चाहता। मैं अपना कोड स्पष्ट और स्मार्ट बनाना चाहता हूं।
आपको 'सेरियल' प्रकार * से * कहां मिला? SQLite में ऐसा कोई कीवर्ड नहीं है। –
वास्तव में? मैंने इसे इंटरनेट में भी बुक में पाया! हम्म, तो क्या कोई विकल्प है जो वही करता है जो मैं चाहता था? – SamuraiT