兴海北路

---男儿仗剑自横行
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

  • 随笔 - 85
  • 文章 - 0
  • 评论 - 17
  • 引用 - 0

常用链接

留言簿(6)

随笔分类

随笔档案

收藏夹

全是知识啊

搜索

  •  

最新评论

阅读排行榜

评论排行榜

让mysql回归传统服务模式!
作者: falcon   发表日期: 2006-09-23 14:02   复制链接



让mysql回归传统服务模式!

如果稍微用过mysql
你就会发现,以前的一些版本的mysql对无效数据的约束是很“不传统”的
比如,你把NULL插入NOT NULL字段,mysql服务器不会报错
而仅仅是出现警告,然后你用show warnings可以查看到底警告你什么
有些情况,它连警告都不给
如果是这样,那些not null的字段完整性约束简直就成了一个摆设

还好,在MySQL 5.0.2之后这些约束更加严格拉
我们可以通过设置sql-mode环境变量来恢复“传统”模式
——即对一些非空,唯一等的约束保持完整性

具体我们可以通过两种办法来弄

1。在启动mysql的时候,加入--sql-mode='STRICT_TRANS_TABLES',即
Quote:

path/to/mysqld --sql-mode='STRICT_TRANS_TABLES'


注意,需要有super权限。

2。启动后也可以设置sql-mode变量
可以是针对当前会话的,也可以是所有会话的
Quote:

set [session|global] sql_mode='STRICT_TRANS_TABLES'



这样设置了以后,就遵从标准的sql拉
在诸如把空数据插入非空字段的时候不再是警告而是报错并且禁止插入数据。


参考资料:

对无效数据的约束
http://dev.mysql.com/doc/refman/5.1/zh/introduction.html#constraints

SQL服务器模式
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-sql-mode

posted on 2008-03-14 16:09 随意门 阅读(222) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理