gpt4 book ai didi

python - 如何在 sql 查询中正确转义 %s

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:29 24 4
gpt4 key购买 nike

我有以下 sql:

sql = '''SELECT DISTINCT artwork_apple_url FROM main_catalog 
WHERE (artwork_url IS NULL OR artwork_url NOT LIKE '%s3-%')
UNION ALL
SELECT DISTINCT artwork_apple_url FROM main_collectioninstance
WHERE (artwork_url IS NULL OR artwork_url NOT LIKE '%s3-%')
'''
cursor.execute(sql)

这给了我一个格式错误——我如何在我的 sql 中得到 LIKE %s3-%'(s3 是亚马逊 url 的一部分)。

最佳答案

如果您使用 parametrized SQL ,参数的引用将由数据库适配器为您完成。它更容易并有助于防止 SQL 注入(inject)。请注意,适当的地标(例如 %s)取决于您使用的数据库适配器。例如,%s 适用于 MySQLdb,但 ? 是 oursql 使用的地标符号。

sql = '''SELECT DISTINCT artwork_apple_url FROM main_catalog 
WHERE (artwork_url IS NULL OR artwork_url NOT LIKE %s)
UNION ALL
SELECT DISTINCT artwork_apple_url FROM main_collectioninstance
WHERE (artwork_url IS NULL OR artwork_url NOT LIKE %s)
'''
cursor.execute(sql, ['%s3-%']*2)

关于python - 如何在 sql 查询中正确转义 %s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25353218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com