美文网首页
数据库相关-MySQL error,field doesn't

数据库相关-MySQL error,field doesn't

作者: 红色火苗 | 来源:发表于2018-02-24 14:14 被阅读0次

    引言:flask操作MySQL的过程中,插入数据时遇到了这样一个问题,单执行SQL语句,在SQL解释器里面执行是没有问题的,或者说相关软件直接忽略了问题,用代码来操作执行相同SQL语句的时候问题就出来了。

    ERROR: Field 'culture_title' doesn't have a default value 异常

    大概的意思是 插入的数据有没有默认值的字段,所以插入不成功。

    异常分析:
    查阅资料后,发现在MySQL5.0.2之后对数据的输入进行了强制性的加严处理。同时也保留了之前MySQL中存在的不严厉的处理方式。

    解决方案:
    a 直接在数据库中对字段进行默认值的设置。
    b 在MySQL的配置文件中my.ini 中修改配置:

    查找
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    修改为

    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    然后重启MySQL即可。

    总结:
    MySQL在执行语句的时候和用代码执行的时候有时候会产生不同的结果,关键在于两者中间存在着一个不同的中间人,一个是工具如:Navicat等数据库管理工具,一个是用python代码来调用的方式。

    相关文章

      网友评论

          本文标题:数据库相关-MySQL error,field doesn't

          本文链接:https://www.haomeiwen.com/subject/wbmqxftx.html