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 strict_MySQL模式 Strict Mode知识点详解相关推荐

  1. mysql text类型 使用方法_MySQL使用TEXT/BLOB类型的知识点详解

    一.TEXT和BLOB的区别 TEXT和BLOB家族之间仅有的不同是BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型有字符集或排序规则.说白了如果要储存中文则选择TEXT. 二.默 ...

  2. Java单机部署,Nacos docker单机模式部署实现过程详解

    Nacos 的部署,我使用的时docker 部署(单机模式 mysql),官网文档:https://nacos.io/zh-cn/docs/quick-start-docker.html 拉取代码: ...

  3. pdo mysql 绑定查询_php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 php mysql PDO 查询操作的实例详解 这篇文章主要介绍了php mysql PDO 查询操作的实例详解的相关资料,希望通过本文能帮助到大家,需 ...

  4. php mysql PDO 查询操作的实例详解

    php mysql PDO 查询操作的实例详解 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  5. Zookeeper知识点详解

    Zookeeper知识点详解 目录 ZooKeeper 集群原理 ZooKeeper 分布式锁 ZooKeeper 分布式事务 ZooKeeper 选举原理 Paxos 协议 ZAB 协议 ZooKe ...

  6. python 消息队列 get是从队首还是队尾取东西_python分布式爬虫中消息队列知识点详解...

    当排队等待人数过多的时候,我们需要设置一个等待区防止秩序混乱,同时再有新来的想要排队也可以呆在这个地方.那么在python分布式爬虫中,消息队列就相当于这样的一个区域,爬虫要进入这个区域找寻自己想要的 ...

  7. linux下mysql数据库基础及客户端命令详解

    linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...

  8. mysql启动参数(/etc/my.cnf)详解汇总

    mysql启动参数(/etc/my.cnf)详解汇总 MYSQL–my.cnf配置中文详解 basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = ...

  9. 数据库系统之:三级模式-两层映射详解

    数据库系统之:三级模式-两层映射详解 前言 一.数据库三大模式详解 1.外模式(反映了数据库系统的用户观) 2.概念模式(反映了数据库系统的整体观) 3.内模式(反映了数据库系统的存储观) 4.概念模 ...

  10. mysql完全备份 二进制日志,MySQL二进制日志备份和恢复详解

    原文链接:http://www.showerlee.com/archives/681 ****经实践,该教程ok,特在此分享**** 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了 ...

最新文章

  1. org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed
  2. 那些伤害不大,侮辱性极强的瞬间
  3. 转:谷歌离线地图基础
  4. [UOJ299][CTSC2017] 游戏
  5. 360p2刷无线打印服务器,【联网版】360路由器P2刷tomato固件小白教程
  6. 用无线热点入门树莓派4详解
  7. 阿里云DRDS分布式数据库 - 分库分表
  8. android获取设备的型号,Android获取手机设备信息
  9. Konva Vue当中的一些技术心得
  10. java poi导出PPT格式
  11. Win11-GTX3060-配置Pytorch GPU
  12. EntityComponentSystemSamples学习笔记
  13. 【容器】kubectl|K8S常用命令总结|crictl管理命令
  14. 解决windows10桌面输入法不见问题
  15. OSChina 周五乱弹 ——下完雨朕的江山都湿了
  16. Scratch如何学习?少儿编程网站如何入手?
  17. “不敢冒险就不是硅谷的企业”
  18. 订单系统订单表设计方案
  19. 【调剂】淮阴工学院2020年硕士专业学位研究生调剂信息
  20. 关于Unity中更新到HDRP会导致材质变粉色的问题

热门文章

  1. java date 减去5分钟_java里让一个date每次加5分钟等于另外一个指定的date
  2. 在美女如云的时尚公司当程序员是怎样的体验?
  3. 【python 色情图片识别】python检测色情图片
  4. php+ul+前缀点怎么加,子网前缀长度怎么填
  5. cdr CorelDRAW Graphics Suite 2021 (v23.1.0)
  6. web前端--面试题
  7. scratch编程 超有趣反应力游戏
  8. Ubuntu中恢复rm命令误删文件(超级详细+亲测有效)
  9. 【uniapp】实现H5微信分享
  10. 深蓝-视觉slam-第七节习题