这是我的剧本
cur.execute("CREATE TABLE +dnes+ (Id INT PRIMARY KEY AUTO_INCREMENT, \
Name VARCHAR(25))")
我尝试将变量dnes放入此查询中。变量是字符串。 它不起作用。它说:
_mysql_exceptions.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 '+dnes+ (Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))' at line 1")
我哪里错了?
答案 0 :(得分:0)
您没有使用字符串连接; +
是字符串的一部分,而不是Python语法。
您可能打算这样做:
cur.execute("CREATE TABLE " + dnes + " (Id INT PRIMARY KEY AUTO_INCREMENT, "
"Name VARCHAR(25))")
您可以改为使用字符串格式:
cur.execute("CREATE TABLE {0} (Id INT PRIMARY KEY AUTO_INCREMENT, "
"Name VARCHAR(25))".format(dnes))
如果您需要创建使用特殊字符或保留字的表名,或仅包含数字,则需要引用名称:
cur.execute("CREATE TABLE `{0}` (Id INT PRIMARY KEY AUTO_INCREMENT, "
"Name VARCHAR(25))".format(dnes))