[英]MySQL syntax error while working with placeholders in Python
我想用一列创建表名,但出现此错误:
mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 ''test' 'int')' 附近使用的正确语法
我正在尝试使用的代码:
table_name = 'test'
create_table = f'CREATE TABLE {table_name} (%s %s)'
cursor.execute(create_table,(headers[0], data_types[0],))
我试过手动输入表名、列名和数据类型,但结果相同。 我已经看到很多关于这个问题的解决方案,但没有一个解决这个问题
您只是无法绑定查询的这一部分。 绑定参数主要用于替换查询中的字面量,而不是其中的随机部分。 在幕后,您的 RDBMS 必须能够在不查看绑定参数值的情况下准备查询。
在这种情况下,您需要字符串连接:
table_name = 'test'
create_table = f'CREATE TABLE {table_name} ({headers[0]} {data_types[0]})';
cursor.execute(create_table);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.