Python集成MySQL创建表时出现1064语法错误求助
MySQL 1064语法错误修复方案
问题出在你用单引号包裹了表名,MySQL不认可这种语法——它要求用反引号(`)来标识表名、列名这类标识符;如果表名是合法的普通字符串(无特殊字符、不是关键字),甚至可以不用引号。
修正后的代码如下:
sql = '''CREATE TABLE `{}` (seat_no numeric(6) primary key, class varchar(1) not null, vacancy varchar(1) not null, price numeric(5) not null, occupant_id numeric(6) ) '''.format(n) con1.execute(sql) con1.commit()
另外注意:你提供的代码片段里漏了执行SQL的execute()方法调用,这步不能省略,否则写好的SQL不会被传给MySQL执行。
补充提醒:如果变量n的值包含特殊字符或者是MySQL关键字,必须用反引号包裹表名;同时用format拼接表名时要注意输入安全,避免SQL注入风险。
内容的提问来源于stack exchange,提问作者Agrim Arsh
相关产品推荐
相关产品推荐

