2

我正在尝试编写一个函数,该函数placeholder()采用下面编写的函数中编写的变量,然后在MySQL查询中使用它。我在下面写了一个例子:

import MySQLdb
connection = MySQLdb.connect(host = "localhost", user = "root", 
                   passwd = "", db = "cars")
cursor = connection.cursor()

def placeholder(placeholder_variable):
    sql = "TRUNCATE TABLE %s"
    cursor.execute(sql, placeholder_variable)

placeholder('car_brands')

当我尝试运行此程序时,出现以下错误:

ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''car_brands'' at line 1")

这是针对大学作业的,必须使用placeholder('variable')格式来接收变量。我已经花了几个小时在互联网上搜索试图找到解决方案,请帮助:/

4

2 回答 2

2
sql = "TRUNCATE TABLE " + placeholder_variable + ";"
cursor.execute(sql)
于 2013-05-20T14:45:15.197 回答
1

SQL 参数不能用于 MySQL 的元数据。您将需要清理该值并正常替换它。

于 2013-05-20T12:29:08.793 回答