为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 中的 Python 变量执行命令

MySQL 中的 Python 变量执行命令

慕虎7371278 2021-08-17 17:08:40
我到处寻找答案,但没有找到任何合适的答案。这是我的代码: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 位数字。


查看完整回答
反对 回复 2021-08-17
  • 1 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信