linux关闭mysql strict mode的方法介绍

作者Veris 文章分类 分类:MySQL 文章评论 0条评论 阅读次数 已被围观 881

I. Strict Mode阐述
根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制:

1).不支持对not null字段插入null值
2).不支持对自增长字段插入''值,可插入null值
3).不支持 text 字段有默认值

linux关闭mysql strict mode的方法非常简单,下面我来给大家总结了些常用的关闭mysql strict mode模式的例子,希望文章对各位同学会带来帮助。

首先用putty连接linux终端
vi /etc/my.conf

在编辑模式下,在里面加入一行代码:

sql-mode= NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
保存退出
输入service mysqld restart回车重启mysql
这样mysql strict mode模式就关闭了。
如果安装的PHP程序数据库结构关闭Strictmode
1).一个是安装mysql5.0(含以上)版本的时候去掉strictmode。
编辑 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 =''");

顺便也列举一下比较常见的修改 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"

最后就像这样:

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"


分类:MySQL
标签: Mysql strict mode 严苛模式

发表评论: