python - 使用 sqlite OperationalError : no such column 创建函数

标签 python sqlite

我想创建一个函数,我可以输入电影的类型和我想看到的顶行数。

我已经用sqlite建立了数据库。但是我不知道如何使用sqlite中的函数input。

我的代码:


def get_top_genre_actors(genre, k):

    c.execute('''SELECT ma.actor, m.rating FROM movie_actor ma
    LEFT JOIN movie m ON ma.imdb_id = m.imdb_id
    ORDER BY m.rating DESC, ma.actor
    LIMIT int(k)
    ''') 
    conn.commit()
    get_top = c.fetchall()

    print("Top 10 actors who played in highest rated ", genre, " movies:")
    print("Actor, Average ", genre, " movie rating")
    for x in get_top:
        print(x[0],', ', x[1],sep="")

get_top_genre_actors("Drama", 5)

我得到的结果:

OperationalError: no such column: k

我知道错误的行是

LIMIT int(k)

如何做到正确?

最佳答案

你应该使用 placeholders .

def get_top_genre_actors(genre, k):
    c.execute('''SELECT ma.actor, m.rating FROM movie_actor ma
    LEFT JOIN movie m ON ma.imdb_id = m.imdb_id
    ORDER BY m.rating DESC, ma.actor
    LIMIT ?
    ''', (k,))
    ... 

关于python - 使用 sqlite OperationalError : no such column 创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57946659/

相关文章:

python - WTForms FormField 导致 csrf_token 错误

Python 字典自带一个额外的大括号,作为 JSON 键,通过 HttpResponse

mongodb - 对于小型 .NET 应用程序,什么是好的数据库选择?

SQLite基于时间格式的SELECT记录 "HH:mm:ss"

Python:找出 "Spouse"类?

python - Python 中的击键事件

c - 那里有软件缓存 API 吗?

python - 如何更新最新的sqlite3帖子?

android - 如何将我的 sqlite 数据库导出到 android 中的 csv?

python - 将 NumPy 数组导出到 Tableau 提取 (.tde)