2013-04-09 76 views
1

我正在写一个查询来删除Mysql中重复的前两项条目,这可不是件容易的事情。有人请帮我解决这个问题。我遇到过如何查询select语句而不是删除query.Following是要求;如果表中包含大于或等于特定记录的10个值,则删除第一条记录(最顶端)。以下是我的代码。使用TOP子句删除Mysql中的查询?

$result = mysql_query("SELECT * FROM billinfo WHERE tableno='10'") or die(mysql_error()); 

    $num_rows = mysql_num_rows($result); 
    echo $num_rows; 

    $query2=''; 
    if($num_rows>10) 
    { 

     $query2 = mysql_query("DELETE * TOP FROM billinfo Where tableno='10')"); 
    } 
+1

MySQL文档作为一个旁注,MySQL的功能已被取消,您使用mysqli或PDO来代替。 http://www.php.net/manual/en/intro.mysql.php – 1615903 2013-04-09 05:30:53

回答

1

首先,你检查$num_rows是否小于10,如果我理解正确,你想要相反的情况。

您尚未定义“顶部”的含义 - 我假定字段的最大值,因此我在查询中将其写为XX

尝试像

if($num_rows>10) { 
    $query2 = mysql_query("DELETE FROM billinfo WHERE tableno='10' ORDER BY XX DESC LIMIT 1"); 
} 

这将删除1行(在LIMIT部分中定义),并且由于结果集是由XX DESC下令将具有最大XX值的行。

更多看到delete

+1

Thnx hexblot.How不小心粘贴了代码。现在再编辑问题。再次。 – joy 2013-04-09 05:38:01