我有一个带有IN语句的SQL update查询,它是通过SQLAlchemy执行的。不幸的是,当前的实现使用了字符串插值,我想用更安全的选项来代替它。你知道吗
session.execute('''
UPDATE servers SET
cpu_cores=st.cpu_cores,
cpu_mhz=st.cpu_mhz,
ram_mb=st.ram_mb
FROM servers
WHERE
server.provider_id IN (%s)
''' % ','.join([ ... ]))
这里是否可以用in_
方法替换%
运算符?或者我应该使用session.query
重新实现这个查询?你知道吗
如果您只想让它更安全,仍然可以在param占位符中插入:
?
是占位符,根据所使用的DB驱动程序的^{否则,最简单的方法是将其转换为
session.query
或update().where()
构造。你知道吗相关问题 更多 >
编程相关推荐