我到处都在寻找答案,但没有找到合适的答案。
这是我的代码:
conn = pymysql.Connect(host="host", user="user", passwd="password", db="database")
dbhandler = conn.cursor()
table_name = today_date.split(" ")[0]
execute_it = """CREATE TABLE %s (
USERNAME CHAR(20) NOT NULL,
X CHAR(10),
Y INT,
Z INT,
A INT)"""
try:
dbhandler.execute(execute_it, table_name)
except:
print("\n----------------------------\nFailed to create table.")
现在我已经尝试这样做。 我尝试在执行中使用%分隔。 我试过了吗?而不是%s。 我尝试了更多选项,但没有一个选项适合我,但是我无法创建表
这是我得到的例外:
(1064,“您的SQL语法有误;请查看 对应于您的MariaDB服务器版本,以使用正确的语法 靠近``11/14/18''(\ n USERNAME CHAR(20)NOT NULL,\ n
X CHAR(第1行的10'“)
使用5.5.52-MariaDB。
谢谢!
编辑:
设法通过它。 感谢PavelFrancírek的帮助。
答案 0 :(得分:0)
问题不在占位符中,而是在日期格式中。表名称中不允许使用字符“ /”。尝试类似的东西:
table_name = today_date.split(" ")[0].replace("/","")
我假设您日期格式中的所有数字均为2位数字。