파이썬에서 sqlite3
을 사용하여 메모리 내장 데이터베이스를 만들려고합니다.sqlite를 사용하여 메모리 내장 데이터베이스를 만들려면 어떻게해야합니까?
DB 데이터베이스 파일을 만들고 정보를 저장하는 기능을 만들었습니다.이 기능은 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
이 테이블에 몇 가지 정보를 삽입
True
를 반환 이름 테이블
execute_db("create table name(name text)")
을 만들
no such table: name False
을 반환
execute_db("insert into name values('Hello')")
왜이 일을하지 않습니다?
db = sqlite3.connect("sqlite3.db")
왜 데이터를 변경할 때'db.commit()'이 두 개입니까? –
@MartijnPieters 오, 내 나쁜 감사합니다. – Deounix