Python 每次我尝试索引我的SQLite数据库时,它都会被锁定

Python 每次我尝试索引我的SQLite数据库时,它都会被锁定,python,sqlite,locking,Python,Sqlite,Locking,我有一个相当大的SQLite数据库填充数据库,其中我试图索引的表有大约170m条记录。回想起来,我应该在填充索引之前创建它,但现在太晚了。每当我运行我的索引代码(在下提供)时,在它被锁定之前的前10分钟内,一切都正常。此脚本运行时,我不会对数据库执行任何操作 con = lite.connect('database/AISdatabase.db') with con: cur = con.cursor() cur.execute("CREATE INDEX longitude

我有一个相当大的SQLite数据库填充数据库,其中我试图索引的表有大约170m条记录。回想起来,我应该在填充索引之前创建它,但现在太晚了。每当我运行我的索引代码(在下提供)时,在它被锁定之前的前10分钟内,一切都正常。此脚本运行时,我不会对数据库执行任何操作

con = lite.connect('database/AISdatabase.db')

with con:

    cur = con.cursor()
    cur.execute("CREATE INDEX longitude_index ON MessageType1 (longitude)")
错误:

  File "indexer.py", line 10, in <module>
    cur.execute("CREATE INDEX longitude_index ON MessageType1 (longitude)")
sqlite3.OperationalError: database is locked

real    10m14.274s
user    8m41.176s
sys 0m34.562s
文件“indexer.py”,第10行,在
cur.execute(“在MessageType1(经度)上创建索引经度\索引”)
sqlite3.0错误:数据库已锁定
实10m14.274s
用户8m41.176s
系统0m34.562s

我在python脚本中而不是在SQLite中运行它的原因是因为我在SQLite3中得到了以下错误
错误:没有这样的表:main.MessageType1
(只有当我尝试索引时,当查询etc正常时,我才得到这个错误).

数据库是否正在被另一个进程使用?没有与数据库建立其他连接(至少我知道)。数据库上没有运行其他脚本,我也没有任何sqlite连接。