我需要使用包含连字符的表名来查询mysql数据库中的数据。
current_table = "tw3-10_1"
sql2 = "SELECT * FROM " + str(current_table )
cursor.execute(sql2)
不幸的是我得到:1064,“你的SQL语法有错误;检查与你的MariaDB服务器版本相对应的手册,以便在第1行的'-10_1'附近使用正确的语法”)
有没有办法解决这个问题?不幸的是我无法更改表格的名称.....
您通常可以使用反引号来引用表名或列名,以防它包含无用的字符。
current_table = "`tw3-10_1`"
sql2 = "SELECT * FROM " + current_table
或者如果你愿意的话
current_table = "tw3-10_1"
sql2 = "SELECT * FROM `{}`".format(current_table)
尝试这样,我不知道MariaDB,但引用应该在SQL中工作
sql2 = """
SELECT
*
FROM "{table_name}"
""".format(
table_name='table-with-hyphens'
)
print(sql2)
# SELECT
# *
# FROM "table-with-hyphens"