sqlite3.OperationalError: no such column: key

sqlite3.OperationalError: no such column: key

我有一个错误,是 sqlite3.OperationalError: no such column: key,但我不知道是什么问题。我尝试将 .db 文件名从 apiKeys.db 更改为 key.db,但仍然引发错误 sqlite3.OperationalError: no such column: key。密码是

class Auth:
    conn = sqlite3.connect("key.db")
    c = conn.cursor()
    c.execute("""CREATE TABLE IF NOT EXISTS key (
                key)""")
    def add(key):
        conn = sqlite3.connect("key.db")
        c = conn.cursor()
        with conn:
            c.execute("INSERT INTO key VALUES (key=:key)",
                {'key': key})
        return True
    def get_all():
        conn = sqlite3.connect("key.db")
        c = conn.cursor()
        c.execute("SELECT * FROM key")
        return c.fetchall()
    def check(key):
        conn = sqlite3.connect("key.db")
        c = conn.cursor()
        c.execute("SELECT * FROM key")
        keys = c.fetchall()
        if key in keys:
            return True
        else:
            return False
    def remove(key):
        conn = sqlite3.connect("key.db")
        c = conn.cursor()
        with conn:
            c.execute("DELETE FROM key WHERE (key=:key)",
                {"key": key})
        return True

我添加了

conn = sqlite3.connect("key.db")
c = conn.cursor()

到每个函数的开头,因为没有它,它总是会引发错误。

这个INSERT INTO key VALUES (key=:key)不正确execute syntax。只有占位符应该出现在 VALUES 子句中,即 11=]。 (remove方法也有类似的问题)。