• 管理mysql数据严格模式,和安全模式处理


    最近使用mysql数据库高一点的版本遇到了,插入和修改等语句失败情况。语句没有错误,但是workbench提示 Field 'id' doesn't have a default value。原因是

    数据库开启了严格模式,以插入语句来说 语句中包含多列空值时,则不允许插入。如果确实需要插入多列空值的情况下。则就需要关闭严格审查模式了

    关闭方法,首先找到mysql的安装目录下的.ini文件,以默认安装目录来说一般存在

    C:ProgramDataMySQLMySQL Server 5.6my.ini

    在别的服务器运行我的网站程序的时候,出现了Field 'id' doesn't have a default value 的提示,意思是这个值我没有提交数据,并且数据库结构没有设置默认值,由于对方的mysql服务器开启了STRICT_TRANS_TABLES严格模式,所以报错了

    解决方法是:

    如果自己的服务器,有权限修改my.ini的话,打开my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    修改为

    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    然后重启MYSQL

    在别人的虚拟空间上当然不可能实现,所以根本的解决方法还是修改自己的数据结构,把非空的字段加上默认值,以后设计数据库要注意这一点,方便程序的移植

    安全模式处理

    Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect. 0.000 sec

    原因是你执行更新和删除语句没有使用主键条件作为条件

    临时关闭数据库限制

    执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式

    SET SQL_SAFE_UPDATES = 0

    使用完之后关闭

    如果想要提高数据库安全等级,可以在恢复回原有的设置,执行命令:SET SQL_SAFE_UPDATES = 1;

  • 相关阅读:
    mui-app 拍照、视频、图片选择,自动上传
    vue table大屏自动刷新滚动效果
    ant-design vue table表格高亮某一行 某一格
    vue-cli@3 ht 引入使用
    JAVA匿名内部类
    JAVA基本类型和引用类型
    引用 IO流学习详细教程
    JAVA多态
    JAVA数据类型能串门不?
    JAVA基本数据类型
  • 原文地址:https://www.cnblogs.com/HelloXZ/p/4202843.html
Copyright © 2020-2023  润新知