存储的联系人2200多条。每次根据机构级别 ol 来查询的。
select * from ADRESS_BOOK_USER where ol>=9
ol 小于10的都可以查出来,但是 大于10的就是查不出来,
sql 写的也没有问题,就是查不出数据。
经仔细审查,原来存表的时候数据结构给写错了。
ol 应该用int 类型,当初存成了字符串类型。症结问题就在此。
以后,不要闲麻烦, 数据类型一定要精确,否则给后来的查询埋炕。
最后将sql 语句修改一下,select * from ADRESS_BOOK_USER where ol+0>=9 就可以查出来了。
ol+0 ➕0 代表将字符串强转为int 类型。
mysql数据乱码问题可能有以下三种原因:1.server本身设定问题,例如还停留在latin1版本
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php,java)的连线语系设定问题
建议使用utf8!!!!
想要避免mysql的中文乱码问题,可以尝试以下方法:
1,对于版本问题,建议去官网更新最新的版本或者比较好用的版本;
2,创建数据库,创建表时没有对字符编码进行设定会造成乱码问题:
创建数据库的时候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci'
建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8
3,对于第三种情况,参考一下方法:
编辑linux服务器中/etc/my.cnf文件,在[mysql]段加入default_character_set=utf8
如果只是调试遇到乱码问题:
在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参数
并且在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,告诉MySQL连线内容都要使用utf-8或者gbk。
utf8或者gbk
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)