如何在Python中的MySQL语句中使用DATE_格式?
我正在尝试将csv文件的行导入mysql表,我正在使用Python来实现这一点。 下面是python脚本中mysql语句的一个片段:如何在Python中的MySQL语句中使用DATE_格式?,python,mysql,Python,Mysql,我正在尝试将csv文件的行导入mysql表,我正在使用Python来实现这一点。 下面是python脚本中mysql语句的一个片段: sql = """INSERT INTO tbl_celebrants(id, name, DATE_FORMAT(birthday,'%m/%d/%Y'), address) \ VALUES(%s , %s, %s, %s)""" 我得到一个错误,它说 ValueError:索引60处不支持格式字符“m”(0x6d) 我的csv文件中的日期
sql = """INSERT INTO tbl_celebrants(id, name, DATE_FORMAT(birthday,'%m/%d/%Y'), address) \
VALUES(%s , %s, %s, %s)"""
我得到一个错误,它说
ValueError:索引60处不支持格式字符“m”(0x6d)
我的csv文件中的日期格式为mm/dd/yyyy。根据我在本网站的某个地方读到的建议,我曾尝试在我的python脚本中使用日期格式(“%%m/%%d/%%Y”)的%%%,但它对我不起作用。我感谢任何帮助,并提前表示感谢
附言
下面是我执行语句的方式
for row in reader:
cursor = conn.cursor()
sql = """INSERT INTO tbl_celebrants(id, name, DATE_FORMAT(birthday,'%%m/%%d /%%Y'),address) VALUES(%s,%s,%s,%s)"""
cursor.execute(sql, row)
cursor.execute("commit")
cursor.close()
没错,您应该将
DATE\u FORMAT()。但是您在错误的位置使用了DATE\u FORMAT()
函数,您应该在VALUES(…)
声明中使用它,因此要解决所有问题,请尝试以下方法:
sql = """INSERT INTO tbl_celebrants(id, name, birthday, address)
VALUES(%s , %s, DATE_FORMAT(%s,'%%m/%%d/%%Y'), %s)"""
当我这样做时,我收到一个错误编程错误:(1064,“您的SQL语法有错误;请检查与您的MySQL服务器版本相对应的手册,以了解在靠近(生日,%m/%d/%Y')、地址)值('id','name','birth','address'第1行)时使用的正确语法)弗雷塔斯:我编辑了我的文章,其中包括了关于如何执行sql语句的整个片段。@Paul Oops!现在我看到您在错误的位置使用了DATE\u FORMAT()
,我相应地更新了我的答案,请检查它现在是否有效。:)