我在这里和网上看了一遍,但没有找到答案。
由于我不会进入的原因,我需要从mysql中删除顶行 数据库表,然后刷新页面。
删除始终位于第一行,并且与行的内容无关, 所以选择哪里没用。
对我来说,我应该可以打电话(在我的PHP代码中):
mysql_deleterow(0); // delete the top row from the table
并完成它。但是哦不 - 没有我能找到的电话。
有没有办法只删除一个独立于其内容的表行? (请重读以上我所说的'因为我不会进入的原因'如果你 感到有冲动问我'你为什么要那样做?')
答案 0 :(得分:4)
它会对你有用吗:
DELETE FROM your_table [ORDER BY field_name] LIMIT 1;
您可以省略ORDER BY
。
答案 1 :(得分:2)
您可以使用此查询从数据库中删除行:
mysql_query('DELETE FROM table_name LIMIT 1');
刷新页面:
header("Refresh: 0; url=".$_SERVER['PHP_SELF']);
答案 2 :(得分:1)
您可以尝试DELETE FROM table LIMIT 1
。如果这不符合您的要求,您可以执行DELETE FROM table WHERE id=(SELECT id FROM table ORDER BY XXXX ASC LIMIT 1) LIMIT 1
之类的操作。第二种方法将允许您控制哪一行是最顶行。
答案 3 :(得分:0)
没有“顶行”这样的东西。您需要定义自己的内容,例如id最低,时间戳最长或类似的那个(您还需要自己创建这些字段)。
如果我们将顶行定义为id最低的行,我们可以将其删除:
DELETE FROM table ORDER BY id ASC LIMIT 1;
您也可以在没有ORDER BY子句的情况下执行此操作,但在这种情况下,删除的行是未定义的。这可能会也可能不会删除“顶行”:
DELETE FROM table LIMIT 1;