这句话明明是对的,怎么会多查出一些呢?我想一定是你其它的地方搞错了,是不是分页的时候又select 错了啊

解决方案 »

  1.   

    将com_name字段的属性修改为binary
    ALTER TABLE company CHANGE com_name com_name VARCHAR( 255 ) BINARY NOT NULL 
    或者在编译mysql的时候加入--with-charset=gb2312
      

  2.   

    是mysql支持中文的问题,有三种解决的方法,Starboy() 说了两种,还有一种是SQL语句这样写:select * from company where locate(com_name) like '%宁波%'
      

  3.   

    To:lapmx(易家)你所说的方法不行嘛,这是我的执行的错误提示:
    查询语句是:select * from resource where locate(content) like '%非典%' order by publishdate desc limit 0,25
    错误代码是:1064
    错误信息是:You have an error in your SQL syntax near ') like '%非典%' order by publishdate desc limit 0,25' at line 1
    为什么?而且我也没有查到locate函数
      

  4.   

    To Starboy():按照你所说的方法,无法进行修改嘛,我使用的是虎翼网的空间是不是他们的服务有什么限制?我用phpmyadmin执行以后的错误提示如下:
    SQL 语句 :  
    ALTER TABLE resource CHANGE content content longtext BINARY NOT NULL
    MySQL 返回:
    You have an error in your SQL syntax near 'BINARY NOT NULL' at line 1
    是不是说BINARY属性只能是varchar类型的字段,但是我现在要用longtext类型的怎么办,谢谢各位高手的回答
      

  5.   

    你用phpmyadmin直接修改字段类型就行了。
      

  6.   

    我试了,不行,没有办法修改出现错误,而且我新建一个表用longtext类型的字段也不能修改成BINARY属性,不知是不是51。NET的服务器限制还是他们的版本太低?还望高手回复,谢谢!
      

  7.   

    我记得在mysql4.0以上才有这些问题,我以前也碰上过,同样的语句,同样的数据,在4.0以下是正常的,4.0以上都会出现这些问题。