MySQL模式 Strict Mode知识点详解

 更新时间:2020年03月01日 09:33:24   作者:koda  
在本篇文章里小编给各位整理的是一篇关于MySQL模式 Strict Mode知识点详解内容,需要的朋友们参考下。

I. Strict Mode阐述

根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制:

1).不支持对not null字段插入null值

2).不支持对自增长字段插入''值,可插入null值

3).不支持 text 字段有默认值

看下面代码:(第一个字段为自增字段)

Sql代码

$query="insert into demo values('','$firstname','$lastname','$sex')"; 

上边代码只在非strict模式有效。

Code代码

$query="insert into demo values(NULL,'$firstname','$lastname','$sex')"; 

上边代码只在strict模式有效。把空值''换成了NULL.

II.让数据库支持Strict Mode

1.对数据库结构进行以下改进来支持strict mode:

1) 给所有not null字段都设置非null默认值,字符串默认值为 '',数值默认值为 0,日期默认值为 '0000-00-00 00:00:00'

2) 去掉text字段的默认值

3) 规范化改进: 把 title 字段统一改为 varchar(255),把有默认值的null字段改为not null字段

2.如果安装的PHP程序数据库结构关闭Strict mode

1).一个是安装mysql5.0(含以上)版本的时候去掉strict mode。

编辑 my.cnf,关闭Strict Mode:

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

2). 另一个就是修改查询语句。例如在

if ($this->dbcharset) {
@mysql_query("SET NAMES ".$this->dbcharset);
}

后面执行

mysql_query("SET @@sql_mode = ''");

注意确定你使用的是MySQL5

mysqli方式类似,就是执行的是

mysqli_query($this->connection_id, "SET @@sql_mode = ''");

到此这篇关于MySQL模式 Strict Mode知识点详解的文章就介绍到这了,更多相关MySQL模式 Strict Mode内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql二进制日志文件恢复数据库

    mysql二进制日志文件恢复数据库

    喜欢的在服务器或者数据库上直接操作的兄弟们你值得收藏下!不然你就悲剧了。-----(当然我也是在网上搜索的资料!不过自己测试通过了的!)
    2014-08-08
  • MySQL底层数据结构选用B+树的原因

    MySQL底层数据结构选用B+树的原因

    大家好,本篇文章主要讲的是MySQL底层数据结构选用B+树的原因,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Mysql利用group by分组排序

    Mysql利用group by分组排序

    这篇文章主要为大家详细介绍了Mysql利用group by分组排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • MySQL中常用查看锁和事务的SQL语句详解

    MySQL中常用查看锁和事务的SQL语句详解

    这篇文章主要介绍了MySQL中常用查看锁和事务的SQL语句,用于查看锁和事务的状态,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • MySQL清空数据表的方法实例与分析

    MySQL清空数据表的方法实例与分析

    这篇文章给大家详细介绍了MySQL清空数据表的方法,文中给出了实例代码,对大家学习使用MySQL具有一定的参考借鉴价值,有需要的可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • mysql server 8.0.3安装配置方法图文教程

    mysql server 8.0.3安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql server 8.0.3安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • mysql 复制过滤重复如何解决

    mysql 复制过滤重复如何解决

    在进行mysql复制过程中,会出现数据重复的现象,怎样利用mysql 过滤重复的数据呢?本文将提供详细的解决方法,需要了解的朋友可以参考下
    2012-11-11
  • 探讨如何计算age的sql函数

    探讨如何计算age的sql函数

    本篇文章是对如何计算age的sql函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MYSQL删除重复数据的简单方法

    MYSQL删除重复数据的简单方法

    业务中遇到要从表里删除重复数据的需求,使用了下面的方法,执行成功,大家可以参考使用
    2013-11-11
  • MySQL事务的ACID特性以及并发问题方案

    MySQL事务的ACID特性以及并发问题方案

    这篇文章主要介绍了MySQL事务的ACID特性以及并发问题方案,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07

最新评论