首页 > 解决方案 > 如何在sql插入中转义字符串/表名

问题描述

我需要根据我所处的环境动态更改表名。这有效:

cursor.execute("INSERT INTO exc (_id, md5) VALUES (%(_id)s, %(md5)s)", data)

但是,我想做的是动态设置表名,例如:

cursor.execute("INSERT INTO %(table)s (_id, md5) VALUES (%(_id)s, %(md5)s)", data)

有没有办法做到这一点?还是我需要将字符串硬编码到那里?执行上述操作会给我一个 sql 错误,即使我将表名放在反引号中,例如:

`table_name`

这将如何正确完成?请注意,在这里进行文字字符串格式化%不是一个选项(在这种情况下,我只需为每个表名可能性编写一个 if 语句)。

标签: pythonmysql

解决方案


推荐阅读