所以我有一个名为"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()
由于表名使用数字,因此需要在表名周围使用反勾号。我在这里使用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
特别是这一行:
标识符可以以数字开头,但除非引用,否则不能仅由数字组成