mysql原来没有来

时间:2014-01-15 06:35:08

标签: mysql sql

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。现在结果正常。

1 个答案:

答案 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开始。