MySQL限制条款异常问题

时间:2017-01-02 14:38:31

标签: mysql

SELECT id,name,info FROM table LIMIT 5

结果集应该包含5行,这是表的前5行,但有关此用法的任何异常吗?这样的表:

SELECT * FROM table limit 10;

 1. company_id company_name         tel
1   TCL集团股份有限公司 0752-2288333    
2   UNITEDSTACK(北京)科技有限公司   15727325616 
3   《市政技术》杂志社有限公司   13401070358 
4   《网络安全技术与应用》杂志社有限公司  010-62765013    
5   《艺术市场》杂志社股份有限公司 64271947
7   一呼医知己健康咨询(北京)有限公司   010-62957992
8   一呼(北京)电子商务有限公司  62957992    
9   一汽轿车股份有限公司  0431-85782608   
10  一通万通商务服务(北京)有限公司    010-68061805

我使用第一个sql,结果是正常的:像这样

SELECT company_id,company_name,tel FROM table LIMIT 5;

 1. 1   TCL集团股份有限公司 0752-2288333
2   UNITEDSTACK(北京)科技有限公司   15727325616
3   《市政技术》杂志社有限公司   13401070358
4   《网络安全技术与应用》杂志社有限公司  010-62765013
5   《艺术市场》杂志社股份有限公司 64271947

但是我使用第二个sql:

SELECT comapny_id,company_name FROM table LIMIT 5;


1275992 
1758051 
2990914 
5241776 
5344925

我们看到的结果显然不是表格的5行,这些文件的区别在于company_id是主键,company_name是一种MUL.can你帮我吗?非常感谢你!

1 个答案:

答案 0 :(得分:4)

  

结果集应该包含5行,这是前5行   该表,但有关此用法的任何例外吗?

只有本声明的第一部分是正确的。您的查询从查询​​中返回5行。但是,这些是5个不确定的行。

SQL表代表无序集。因此,表中没有前五行。如果您希望对结果集进行排序,则需要包含order by子句。通常,自动递增的id用于此目的,因为这样的id捕获行插入表中的顺序。