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')"; 

Code代码

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

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"
if ($this->dbcharset) {@mysql_query("SET NAMES ".$this->dbcharset);}
mysql_query("SET @@sql_mode = ''");

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

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

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Android(安卓)- Manifest 文件 详解
  3. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  4. Selector、shape详解(一)
  5. android2.2资源文件详解4--menu文件夹下的菜单定义
  6. Android开发小知识点集锦
  7. Android发送短信方法实例详解
  8. Android(安卓)读取资源文件实例详解
  9. 详解Android中的屏幕方向

随机推荐

  1. android 开发的一个小警告
  2. Android实现新浪微博
  3. 改写ListView样式
  4. Android中如何使用 address2line
  5. android 系统自带主题样式及自定义主题样
  6. Android对应版本号
  7. 权重
  8. 有关XML的点击状态背景图的设置
  9. android 的中文意思
  10. Android 仿QQ多级列表框实现