любая идея, что я делаю неправильно?python sqlite3 insert command
Я создаю таблицу под названием General:
conn = sqlite3.connect(self.dbLocation)
c = conn.cursor()
sql = "create table if not exists General (id integer NOT NULL,current char[20] NOT NULL,PRIMARY KEY (id))"
c.execute(sql)
c.close()
conn.close()
Я тогда с помощью макс (ID), чтобы увидеть, если таблица пуста. Если это так, я создаю таблицу под названием Current1 и вставляю строку в General (id, 'Current1'). идентификатор автоинкремент целого числа:
self.currentDB = "Current1"
self.currentDBID = "1"
#create the table
sql = "create table %s (id integer NOT NULL,key char[90] NOT NULL,value float NOT NULL,PRIMARY KEY (id))" % (str(self.currentDB))
c.execute(sql)
c.close()
conn.close()
conn = sqlite3.connect(self.dbLocation)
c = conn.cursor()
sql = "insert into General(current) values('%s')" % (str(self.currentDB))
print "sql = %s" % (str(sql)) ---> *sql = insert into General(current) values('Current1')*
c.execute(sql)
print "executed insert Current"
c.execute ("select max(id) from General")
temp = c.next()[0]
print "temp = %s" % (str(temp)) ---> *temp = 1*
c.close()
conn.close()
Проблема заключается в том, что если открыть базу данных, я не нахожу ни одной строки в общей таблице. Создается таблица Current1, но инструкция insert в General, похоже, ничего не делает. Что я делаю не так? Благодарю.
Только что нашел ответ на другой странице, прежде чем я обновил этот вариант и нашел ваши ответы. Вы правы, я также попытался совершить с переменной c, но не работал ... он должен быть подключен. Большое спасибо :) Отметит ваш как правильный ответ, так как ваш первый, хотя @Maxime Lorant тоже прав! – user2623934