मैं एक स्क्लाइट डीबी से सभी रिकॉर्ड्स का चयन करने की कोशिश कर रहा हूं, मेरे पास स्क्लेक्केमी है, प्रत्येक पर लूप है और उस पर एक अपडेट करें। मैं ऐसा इसलिए कर रहा हूं क्योंकि मुझे अपने नाम कॉलम में कभी भी रिकॉर्ड करने की आवश्यकता है।sqlalchemy डेटाबेस तालिका लॉक है
def loadDb(name):
sqlite3.connect(name)
engine = create_engine('sqlite:///'+dbPath(), echo=False)
metadata = MetaData(bind=engine)
return metadata
db = database("dealers.db")
metadata = db.loadDb()
dealers = Table('dealers', metadata, autoload=True)
dealer = dealers.select().order_by(asc(dealers.c.id)).execute()
for d in dealer:
u = dealers.update(dealers.c.id==d.id)
u.execute(name="hi")
break
मैं त्रुटि हो रही है::
यहाँ कोड मैं एक साधारण परीक्षण करने के लिए उपयोग कर रहा हूँ है
sqlalchemy.exc.OperationalError: (OperationalError) database table is locked u'UPDATE dealers SET name=? WHERE dealers.id = ?' ('hi', 1)
मैं बहुत SQLAlchemy के लिए नया हूँ और मैं नहीं कर रहा हूँ सुनिश्चित करें कि इस त्रुटि का अर्थ क्या है या इसे कैसे ठीक किया जाए। ऐसा लगता है कि यह वास्तव में एक साधारण काम होना चाहिए, इसलिए मुझे पता है कि मैं कुछ गलत कर रहा हूं।
विकल्प कोई काम नहीं करेगा ... विकल्प दो के साथ कोई और सलाह? असल में मैं बस अपने डीबी के कॉलम में से किसी एक गैर-असीसी पात्रों को हटाने की कोशिश कर रहा हूं। – imns
पुन: "विकल्प एक काम नहीं करेगा" आप चयनित डेटाबेस ऑब्जेक्ट्स से कोई सूची नहीं बना सकते हैं? क्यों नहीं? – hughdbrown
तो मुझे पता है कि यह पार्टी के लिए बहुत देर हो चुकी है, लेकिन यदि भविष्य में लोग इसमें भाग लेते हैं, तो मुझे डीबी तक पहुंचने वाले सभी खुले कंसोल बंद कर दिए गए हैं जो इस मुद्दे को साफ़ करते हैं। – ExperimentsWithCode