标签:
一、表名不要用大小写混合(即驼峰式),应该使用下划线作为连接符。
因为在Thinkphp中,M(‘表名‘)方法,大小写这种形式的表名会自动被转为下划线形式而导致无法读取,只能使用 M() 空方法来操作数据库,会给后面的开发带来诸多不便。
二、注意SQL的关键字非常多,like(喜欢数,sql关键字为模糊查询),order(订单,sql关键字为排序),等等这些很可能被误用而导致一些SQL语句不能执行。设计时注意规避,包括表名、列名。
三、如何让 MySQL where 查询条件区分大小写:
根本原因:MySQL一般的数据库编码格式都是 utf8,utf8_general_ci。
其中的ci是 case insensitive 的意思,即大小写不敏感!所以,查询的时候所用的条件是不区分大小写的。
比如:
SELECT * FROM member WHERE name=‘batsing‘
会把名为 batsing 和 Batsing 等大小写不一样的都选了出来
解决方案1:在查询语句中的末尾加上 collate utf8_bin,即是指定该条语句区分大小写。但有些会报错,要自己多调试。如 :
SELECT * FROM member WHERE name=‘batsing‘ collate utf8_bin
解决方案2:修改数据库类型,可以修改整个数据库,也可以修改单个表,这个要根据自己的项目来决定。
比如改为 utf8_bin 编码格式。
标签:
原文地址:http://www.cnblogs.com/batsing/p/4724744.html