我到处寻找答案,但没有找到任何合适的答案。这是我的代码: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, \ nX CHAR(10' at line 1")使用 5.5.52-MariaDB。
1 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
问题不在于占位符,而在于日期格式。表名中不允许出现字符“/”。尝试类似:
table_name = today_date.split(" ")[0].replace("/","")
我假设您的日期格式中的所有数字都是 2 位数字。
添加回答
举报
0/150
提交
取消