如何解决 Sqlite 数据库索引错误

How do I solve Sqlite DB Index Error

我正在 Ubuntu 中使用 Web2py 和 sqlite Db。 Iweb2py,用户输入将项目发布到 sqlite 数据库中,例如 'Hello World',如下所示: 在控制器默认情况下,项目按如下方式发布到 ThisDb 中:

consult = db.consult(id) or redirect(URL('index'))
form1 = [consult.body]
form5 = form1#.split()
name3 = ' '.join(form5)
conn = sqlite3.connect("ThisDb.db")
c = conn.cursor()
conn.execute("INSERT INTO INPUT (NAME) VALUES (?);", (name3,))
conn.commit()

另一个代码从 ThisDb 中挑选或读取项目,在本例中 'Hello World' 如下:

location = ""
conn = sqlite3.connect("ThisDb.db")
c = conn.cursor()
c.execute('select * from input')
c.execute("select MAX(rowid) from [input];")
for rowid in c:break
for elem in rowid:
    m = elem
    c.execute("SELECT * FROM input WHERE rowid = ?", (m,))
    for row in c:break
    location = row[1]
    name = location.lower().split()

我的 table 'input' 的数据库配置应该从中读取 Hello World' 是这样的:

CREATE TABLE `INPUT` (
    `NAME`  TEXT
);

此代码以前在使用 windows7 和 10 编码时运行良好,但在 Ubuntu 16.04 时遇到了这个问题。我不断收到此错误:

File "applications/britamintell/modules/xxxxxx/define/yyyy0.py", line 20, in xxxdefinition
    location = row[1]
IndexError: tuple index out of range

row[0] 是第一列中的值。
row[1] 是第二列中的值。

显然,您以前的数据库有不止一列。