python 时间 空值如何写入数据库

我要用python向mysql字段类型为date的列写入0000-00-00的日期提示错误(1292,"Incorrectdatevalue:'0000-00-00'fo... 我要用python向mysql 字段类型为date的列写入0000-00-00的日期
提示错误
(1292, "Incorrect date value: '0000-00-00' for column 'opendate' at row 1")

如果我直接在mysql端执行却可以正常执行 请问怎么可以直接用python写入mysql
展开
 我来答
糖糖寳寳
推荐于2017-10-06 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3978万
展开全部
1.如果值为None,给个默认值
if not aa:
aa=1

2.没有默认值,就拼sql
if not aa:
sql = 'insert table(bb,cc) values(.....)'
else:
sql = 'insert table(aa,bb,cc) values(.....)'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tim_spac
2014-01-02 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2023万
展开全部
"""if thetable (id int, strfield, varchar(32), dtfield datetime)"""
..
conn.executemany("insert into thetable values (?,?,?,?)", [
[100, 'a string field', '2013-12-01'],
[101, 'another record', None],
]
conn.commit()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunbett
2014-01-02 · TA获得超过137个赞
知道答主
回答量:82
采纳率:0%
帮助的人:44.7万
展开全部
可以对'0000-00-00' 使用 str_to_date()函数, str_to_date('0000-00-00')
追问
我用这个办法程序报这个错误
(1411, "Incorrect datetime value: '0000-00-00' for function str_to_date")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
videlord
2014-01-02 · TA获得超过1336个赞
知道大有可为答主
回答量:1518
采纳率:66%
帮助的人:440万
展开全部
看看你php session的sql_mode是什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式