所以我有变量命名' racenumber'我想用它作为我正在创建的新表的名称。
下面的python代码目前无效。关于问题在哪里的任何想法?
racenumber = 10
cursor = db.cursor()
cursor.execute("""CREATE TABLE %s (ID INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(50) DEFAULT NULL,
PRIZE_TOTAL VARCHAR(50) DEFAULT NULL, STRENGTH VARCHAR(50) DEFAULT NULL, URL VARCHAR(50) DEFAULT
NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1""" % (racenumber))
db.commit()
db.close()
答案 0 :(得分:0)
由于您使用表名作为数字,因此需要在表名周围使用反向标记。我在这里使用SQL Fiddle测试了一个示例:http://sqlfiddle.com/#!2/c38e57
racenumber = 10
cursor = db.cursor()
cursor.execute("""CREATE TABLE `%s` (ID INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(50) DEFAULT NULL,
PRIZE_TOTAL VARCHAR(50) DEFAULT NULL, STRENGTH VARCHAR(50) DEFAULT NULL, URL VARCHAR(50) DEFAULT
NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1""" % (racenumber))
db.commit()
db.close()
以下是文档中的链接:http://dev.mysql.com/doc/refman/5.0/en/identifiers.html
特别是这一行:
标识符可以以数字开头,但除非引用可能不仅仅包含数字