【问题标题】:MySQL query returning a negative row numberMySQL查询返回负行号
【发布时间】:2012-08-31 20:49:08
【问题描述】:

嗯,这肯定是一件奇怪的事情。我正在使用 MySQL 来显示一系列警报,并且我正在使用的查询根据警报的级别来区分。该表有五列,但这里使用的是级别列(警报级别:1 - 正常;2 - 中等;3 - 高)。 ID 仅用于显示查询中的奇数。

奇怪的是当我运行这个查询时,它正常显示:

SELECT * FROM `alerttxt` ORDER BY level ASC

当我切换订单时,它在网页上丢失了一个条目,但在 PHPMyAdmin 中显示了所有行......这本身就很奇怪:

SELECT * FROM `alerttxt` ORDER BY level DESC

但是在我添加一个额外元素的那一刻:

SELECT * FROM `alerttxt` WHERE level = '2' ORDER BY ID ASC

事情变得一团糟。我在 PHPMyAdmin 中运行了同样的查询,同样使用 ORDER BY ID DESC,返回如下:

    Showing rows 0 - -1

我以前从未见过这种情况,也不太确定如何解决它。其他人以前见过这个并且能够修复它吗?谢谢大家!

添加 8/31/12 - 脾气暴躁

ID  level   system     status                           restoretime
0   2       MyISU      System is functioning normally   NULL
1   2       Network    System is functioning normally   NULL
2   1       Blackboard System is functioning normally   NULL
3   3       Email      System is functioning normally   NULL
4   1       Banner     System is functioning normally   NULL

和结构:

Column      |  Type         | Null  |  Default
-----------------------------------------------------------------
ID             int(11)        No         
level          varchar(3)     No       1     
system         varchar(255)   No         
status         varchar(755)   No       System is functioning normally    
restoretime    text           Yes      NULL 

【问题讨论】:

  • 你用什么mysql函数来查询你的sql?
  • 您的level 列的类型是什么?
  • 不显示行 0-1 表示 phpmyadmin 显示 2 个结果?
  • mysql_fetch_array...没试过mysql_fetch_assoc
  • @jidma - 没有自动增量的 INT

标签: php mysql sql


【解决方案1】:

我认为这是 phpMyAdmin 中的错误,因为搜索该错误消息和 this answer 的 cmets 似乎可以确认。而且很容易检查:在 MySQL 控制台中运行您要求的查询。

【讨论】:

  • 确实看起来像。做了更多的研究,发现我们正在运行的 PHPMyAdmin 版本是 3.5.0,而最新的稳定版本是 3.5.2.2,所以这似乎正是你所假设的:一个错误。向我们的服务器管理员发送了一封电子邮件以对其进行升级,所以一旦他这样做了,我就会发表另一条评论,说明事情的进展。谢谢!
猜你喜欢
  • 2014-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 2020-06-26
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多