mysql表->
表名td
id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, band
varchar(4) NOT NULL, PRIMARY KEY(id)我用了-> select * from td where band != 'band' order by id limit 20, 10;
这给了我正常的结果。从21号身份证开始。然后,我将id 15波段列内容null更改为“band”,并使用了前面的sql。但结果从id 22开始。我又把raw 15改为null。现在结果正常了。
发布于 2014-01-15 06:53:29
您的“带”列具有NOT NULL属性。如何将第15行的“带”列从null更改为'band'?Then I changed id 15 band column content null to 'band'
结果怎么了?它应该跳过第15行,因为您将它的值更改为“band”,这不再满足条件where band != 'band'。“限制”控制要选择的行数,而不是主键的范围。在本例中,它按预期工作,因为查询在ID 1~14和16~*处返回行,并显示在第20行,即ID 22。
如果您想要控制的实际上是ID的范围,您必须在WHERE原因而不是限制中这样做。就像这样,
select * from td where band != 'band' and id > 20 order by id limit 10;这将从21开始。
https://stackoverflow.com/questions/21130588
复制相似问题