ChinaUnix.net
 >> ChinaUnix.net > MySQL

[求助]谁遇到过 mysql中  like 查询不准确的情况?

作者:rosetnt     发表时间:2002/11/25 02:43pm

[这个贴子最后由rosetnt在 2002/11/25 02:55pm 编辑]

select b_id,b_name,b_code,b_state,b_lend,b_click,b_intro
from book
where b_intro like '%余明%' order by b_code,b_state

我用的mysql版本是3.23.31 ,在mysql中执行这个sql,但查到的结果确不准确, b_intro 是 text 型的。

哪位知道是怎么回事,或怎么解决?


此文章相关评论:
该文章有20个相关评论如下:(点这儿可以发表评论)
huatong 发表于: 2002/11/25 09:08pm
因为mysql的默认字符集不是中文的,可将b_intro的属性设成binary试试
 
redfox 发表于: 2002/11/26 00:20am
遇到了,无法解决。
 
rosetnt 发表于: 2002/11/26 09:51am
那怎么样来改变 mysql的默认字符集呢?  我用的是  win32 版的
 
rosetnt 发表于: 2002/11/26 10:41am
问题解决了~~  :em02:  

   改变成这个就可以    default-character-set = gb2312   :emn25:

 
redfox 发表于: 2002/11/27 09:03pm
好的,我试试~
 
redfox 发表于: 2002/11/27 09:34pm
好用,gbk亦可。
 
i叶大马猴 发表于: 2002/11/28 02:31am
那数据类型还要不要改???
 
redfox 发表于: 2002/11/29 04:00pm
不用改
 
rosetnt 发表于: 2002/12/05 10:32am
redfox~   你用的mysql是WIN32版本的吗?  

  linux下的改变后没问题,但WIN32版的mysql当时在控制台改好用,但没有保留住,重起机器后,mysql通过NT的服务启动,又恢复到了默认拉丁文字符集,有办法让他保留住更改后的gb2312值吗?

  或者你知道哪有默认就是gb2312字符集的win32版mysql?   :emn8:

 
redfox 发表于: 2002/12/05 10:47am
windows版本修改my.ini
 
rosetnt 发表于: 2002/12/05 11:10am
是吗? 等等, 说明白点, 是my.cnf 还是 my.ini    
 
我没看到有改这个参数的地方,能具体说明怎么改吗?
 
rosetnt 发表于: 2002/12/05 11:51am
是my.cnf ,  我知道怎么改了  :)
 
henanups 发表于: 2002/12/07 03:05pm
我的3.23.53,试my.ini,在c:\winnt下
我的my.ini内容:
#This File was made using the WinMySQLAdmin 1.4 Tool
#2002-12-7 8:47:46

#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions

[mysqld]
#默认字符集:
default-character-set = gb2312
basedir=C:/Program Files/mysql
#bind-address=127.0.0.1
datadir=c:/Program Files/mysql/data
#language=c:/Program Files/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
#最大连接数:
set-variable=max_connections=500

[WinMySQLadmin]
Server=c:/Program Files/mysql/bin/mysqld-nt.exe
user=root
password=123

 
redfox 发表于: 2002/12/07 06:10pm
win下面是my.ini

unix下是my.cnf

 
cndave 发表于: 2002/12/09 03:19pm
在window系统下如果用my.cnf,那么把这个文件放在c:\下,如果用my.ini,那么放在c:\winnt下。
 
飞越巅峰 发表于: 2002/12/12 09:53pm
改为GBK后上传图片会出错,折中的办法
方法1:
 修改字段类型加binary关键字
 alter table <table name> change <字段名> <类型> <字段名> <类型> binary

方法2:
 在SQL中使用binary关键字
 select b_id,b_name,b_code,b_state,b_lend,b_click,b_intro
 from book
 where b_intro like binary '%余明%' order by b_code,b_state

 
redfox 发表于: 2002/12/12 10:01pm
上传图片会出错?
 
tiyi 发表于: 2003/01/03 05:44pm
敢问各位使用的是什么版本的mysql ?
 
faisun 发表于: 2003/01/07 10:00am
如果不改my.ini/my.inf,可不可以办到?

不是我的服务器,我改不了的。

 
zhxp 发表于: 2003/01/07 03:22pm
如果是使用PHP调用MySQL的话,可以在查询结果出来后进行判断(做个函数转化成双字节就可以了)。
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者