代码之家  ›  专栏  ›  技术社区  ›  GoodGuy

SQLite在VALUES附近给我一个错误,我该怎么办?

  •  -1
  • GoodGuy  · 技术社区  · 2 年前

    我正在尝试从表中选择所有具有 user_id = 0 type 我可以作为参数给出。

    我的代码是:

    get_all_parking_by_type = 'SELECT * FROM Parking WHERE type = ? and user_id = 0 VALUES (?)'
    cursor.execute(get_all_parking_by_type, ('guest'))
    guests = cursor.fetchall()
    

    错误是:

    sqlite3.OperationalError:靠近“VALUES”:语法错误

    这可能很愚蠢,但我不知道如何解决。

    1 回复  |  直到 2 年前
        1
  •  2
  •   user2722968    2 年前

    这里有两个错误:

    • 没有用 VALUES -语法,至少不清楚你试图用它来实现什么;别管它
    • 参数为 ('guest') 实际上不是元组,而是无用括号中的字符串。你可能是说 ('guest', ) .

    尝试

    get_all_parking_by_type = 'SELECT * FROM Parking WHERE type = ? and user_id = 0'
    # Notice the comma after `'guest'`
    cursor.execute(get_all_parking_by_type, ('guest', ))
    guests = cursor.fetchall()