python的pymysql如何插入date类型的字段

用pymysql插入mysql数据库值,关于date字段,需要将str转换成date,变换了好几种写法,也查了很久,不是报语法错误,就是插入的日期不对
请教正确的写法
code=1
date='2016-03-01'
insertresult = cur.execute("insert into data values(%d,str_to_date(%s,'%%Y-%%m
-%%d'))" % (code,date))

阅读 12.2k
1 个回答

你这sql等价于:

insert into data values(1,str_to_date(2016-03-01,'%Y-%m-%d'))

需要的是'2016-03-01' 而不是 2016-03-01

改为 cur.execute("insert into data values('%d',str_to_date(%s,'%%Y-%%m-%%d'))" % (code,date))

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题