SQlite3 OperationalError:尝试在递归期间编写只读数据库

时间:2019-01-22 16:25:56

标签: python-3.x sqlite

我有一些代码,该代码使用递归将数据从一个Web报废表中提取到SQlite数据库中。当我运行代码时,它显示了如何正确地迭代数据,但是在迭代的中间,它突然中断说:

  

文件“ C:\ Users \ rub \ Desktop \ Phyton \ mtgdb_v2.py”,第173行,在   insert_tcg cursor.execute(sql,values)sqlite3.OperationalError:   尝试编写一个只读数据库。

输入数据以将行添加到数据库的模块,来自递归“ def”:

def insert_tcg(cardcode,nameEN,rarity,cardno,trendTCG,midTCG,lowTCG):    
    values=(cardcode,nameEN,rarity,cardno,trendTCG,midTCG,lowTCG)
    print(values) #this one is for visually check the data that manages
    with sqlite3.connect("MTGdb.db") as db:
        cursor=db.cursor()
        sql="insert into TCGdb (cardcode, nameEN, rarity, cardno, trendTCG, 
        midTCG, lowTCG) values (?,?,?,?,?,?,?)"
        cursor.execute(sql,values)
        db.commit() 

我多次运行它,然后看数据库,我看到它正确地从预期的224行总数中正确输入了随机数的行(例如,有时26,有时128,另外210)期望所有行都将输入到数据库中。 数据库位于桌面文件夹(硬盘)中。看到数据库如何转变为读取数据库,这很奇怪。

0 个答案:

没有答案