Я пытаюсь создать базу данных в памяти, используя sqlite3
в Python.Как создать базу данных в памяти с помощью sqlite?
Я создал функцию для создания файла базы данных базы данных и хранения информации для нее, и она работает на 100%.
Но пытаюсь соединиться с :memory:
У меня возникли некоторые проблемы.
Что я делаю:
import sqlite3
def execute_db(*args):
db = sqlite3.connect(":memory:")
cur = db.cursor()
data = True
try:
args = list(args)
args[0] = args[0].replace("%s", "?").replace(" update "," `update` ")
args = tuple(args)
cur.execute(*args)
arg = args[0].split()[0].lower()
if arg in ["update", "insert", "delete", "create"]: db.commit()
except Exception as why:
print why
data = False
db.rollback()
db.commit()
db.close()
return data
создать таблицу имен
execute_db("create table name(name text)")
, возвращающей
True
вставить информацию в этой таблице
execute_db("insert into name values('Hello')")
который вернулся
no such table: name False
Почему это не работает? Она работает, когда я использую файл:
db = sqlite3.connect("sqlite3.db")
Почему двойной 'db.commit()' при изменении данных? –
@MartijnPieters Ох, мое плохое спасибо. – Deounix