本帖最后由 fanhefan 于 2010-11-30 21:27:39 编辑

解决方案 »

  1.   

    REPAIR RABLE Position先修复一下。
      

  2.   

    就是比如
    表结构下查询
    select * from Position where Publisher = '南中投资集团' order by PublishTime desc 
    显示不出查询信息的我select `PositionID`,`Title` from Position where Publisher = '南中投资集团' order by PublishTime desc 
    就可以出结果然后我怀疑About属性出了问题
    把About的改成Varchar的字符型,Varchar(250)、Varchar(200)、Varchar(100)都不行
    一直到Varchar(50)
    使用
    select * from Position where Publisher = '南中投资集团' order by PublishTime desc
    查询才出了结果
      

  3.   

    建议你在重新,按照相同的CREATE TABLE语句创建一表,然后插入数据。 再做相同的检查,看看是否还是重复你的故障现象。 如果不是,则说明与表的结构无关,和你的数据有关了。如果仍不可以,则建议你给出测试数据,这样别人可以模拟再现你的故障。
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

    create table newtt as select * from tt;
    select * from newtt
    结果如何
      

  5.   

    现在把
    KEY `FK_Association_5` (`Publisher`)删除,
    select * from Position where Publisher = '南中投资集团' order by PublishTime desc  
    显示出查询信息的但是原来可以显示的
    select * from PaySheet,Position where PaySheet.PositionID = Position.PositionID and StudentID = '2007840054' order by PayDate desc;
    现在出不了结果了
      

  6.   

    你是在什么中执行的? 建议你在MYSQL的命令行工具中试一下,然后直接把结果贴出来。另外你的到底是几个表? 建议只把有问题的表贴出来。
      

  7.   

    varchar不行就用text,或者longtext,使用Navicat8 for mysql很方便。。
      

  8.   

    用16楼的数据,
    SELECT * FROM PaySheet,POSITION WHERE PaySheet.PositionID = Position.PositionID AND StudentID = '2007840054' ORDER BY PayDate DESC;没有满足条件的记录
      

  9.   

    谢谢各位结贴了好像是index,外码的问题,删掉外码就都可以查询到了~