我正在使用MySQL WorkBench 6.1,我在一个表上有139行。
如果我这样做:
Select * from table
它只返回前111行,但如果我这样做:
Select * from table where idRow = 139
返回第139行,这是正确的。
有关正在发生的事情的任何想法?
更新
这是表格
create table OrderLines
(
idOrder int references Orders,
idLine int primary key,
q int ,
);
直到现在idOrder = 139且idLine = 1262
答案 0 :(得分:1)
你确定你有139个实际行,而不只是最后一个自动增量id是139 - 这意味着某些行可能已被删除了吗?
您可以通过运行确认总行数
SELECT COUNT(*) FROM table
如果这返回,139你确实错过了一些,这不是SELECT * FROM table
的错误,因为这将返回每一行。也许你正在使用的工具限制了返回的行数。这实际上很常见,大多数工具都会这样做以防止加载大量数据,但111是一个非常小而奇数的数字。