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;
它给了我正常的结果。从id 21开始。然后我将id 15 band column content null更改为'band',并使用更早的sql。但结果从id 22开始。我将原始15再次改为null。现在结果正常。
答案 0 :(得分:0)
您的“乐队”栏目有NOT NULL
属性。你是如何将第15行的“band”列从null更改为'band'的? Then I changed id 15 band column content null to 'band'
而且,结果出了什么问题?它应该跳过第15行,因为你将它的值改为'band',它不再满足条件where band != 'band'
。 “limit”控制您要选择的行数,而不是主键的范围。在这种情况下,它按预期工作,因为查询返回ID为1~14和16~ *的行,并从第20行显示ID 22。
如果您要控制的内容实际上是ID范围,则必须在WHERE原因中执行,而不是LIMIT。像这样的东西,
select * from td where band != 'band' and id > 20 order by id limit 10;
这将从21开始。