Bananian python sqlite3 问题没有这样的列:

Bananian python sqlite 3 ptoblem no such column:

我真的不知道为什么,但我尝试 运行 一个曾经在我的 linux 计算机上运行的程序,现在一个简单的命令在 bananian 上不起作用。我试图 运行 仅给出错误的部分。所以我又写了一个简单的sql脚本来了解错误出处:

import sqlite3
conn2 = sqlite3.connect('datatest.db')  # start the data base
databa2 = conn2.cursor()

try:
    databa2.execute("CREATE TABLE datatest(date blob, rd blob)")
    if conn2:
        conn2.commit()
except:
    databa2.execute("DROP TABLE datatest ")
    databa2.execute("CREATE TABLE datatest (date blob, rd blob)")
    if conn2:
        conn2.commit()
a=1
b=2
print (b)
databa2.execute("INSERT INTO datatest VALUES (?,?)", (a,b))
databa2.execute("INSERT INTO datatest VALUES (?,?)", (b,a))
databa2.execute("INSERT INTO datatest VALUES (?,?)", (a,a))
if conn2:
    conn2.commit()

for row in conn2.execute("SELECT date , rd "):
    print(row)
if conn2:
    conn2.commit()

我也试过只取随机值(不只是 a,b...)。然后当我尝试打印它时它不起作用并给我这个错误:

Traceback (most recent call last): File "/media/datatest.py", line 25, in for row in conn2.execute("SELECT date , rd "): OperationalError: no such column: date

我也在数据库浏览器中查看了数据库,列存在但为空。有人可以帮助我吗?

好的,我按照教程更改了结构,现在可以使用了,我真的不明白为什么它以前可以使用以及为什么我必须更改。但不管现在它适用于这个。

 import sqlite3
    conn2 = sqlite3.connect('datatest.db')  # start the data base
    databa2 = conn2.cursor()

try:
    databa2.execute("CREATE TABLE datatest(date INT,ID INT)")

except:
    databa2.execute("DROP TABLE datatest ")
    databa2.execute("CREATE TABLE datatest (date INT, ID INT)")


databa2.execute("INSERT INTO datatest (date, ID) VALUES (?,?)",(5, 10))
databa2.execute("INSERT INTO datatest (date, ID) VALUES (?,?)",(2, 98))
databa2.execute("INSERT INTO datatest (date, ID) VALUES (?,?)",(5, 47))
if conn2:
    conn2.commit()

for row in conn2.execute("SELECT (date) from datatest "):
    print(row)
if conn2:
    conn2.commit()