Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中的MySQL语句中使用DATE_格式?_Python_Mysql - Fatal编程技术网

如何在Python中的MySQL语句中使用DATE_格式?

如何在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文件中的日期

我正在尝试将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文件中的日期格式为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()
,我相应地更新了我的答案,请检查它现在是否有效。:)