分享
三行代码  ›  专栏  ›  技术社区  ›  IsaacWP121

sqlite3python-选择带有占位符的sql查询

  •  0
  • IsaacWP121  · 技术社区  · 2 天前

    请随意评论并告诉我标题是否需要更改,不管怎样,我一直在尝试查询我的“User_Messages”表并获取与id相关的任何消息。这是im使用的代码行:

    c.execute("SELECT * FROM User_Messages WHERE ID = $1", (ID)) (id是一个整数,例如190332830289)

    当我从终端运行它时,它总是发出这个错误

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: parameters are of unsupported type
    

    我该怎么解决这个问题?

    在相关注释中,我是否可以为表名使用占位符?像这样: SELECT * FROM %1 WHERE ID = %2

    1 回复  |  直到 2 天前
        1
  •  0
  •   balderman    2 天前

    您应该传递一个元组--> (ID,)

    看到了吗 https://docs.python.org/3/library/sqlite3.html

    t = ('RHAT',)
    c.execute('SELECT * FROM stocks WHERE symbol=?', t)