如何只删除一个记录并非所有具有相同内容的记录?

时间:2013-10-22 20:01:44

标签: php mysql sql

我回复了数据库中的一些数据,现在当我想删除一些记录时,我遇到了问题。

假设我有这样的记录:3,3,4,6,3。

<input type="radio" name="ocenaa" value="' . $row['slo'] . '">

当我想删除最后一条记录(3)时,它会删除所有包含内容3的记录......

我的查询:

$sql="DELETE FROM frend WHERE slo=('$_POST[ocenaa]')";

如何删除最后一条记录而不是全部三条?

3 个答案:

答案 0 :(得分:0)

它正在做你期望的......你的数据不是唯一的。每行使用唯一的。

有没有其他方法来识别行?

答案 1 :(得分:0)

我唯一可以告诉你的是在结构中添加一个唯一的(auto_incrementing)_key phpMySql可以让你轻松完成。从那以后你会这样做; 说密钥在php中被称为id

$query = mysql_query("SELECT `id` FROM frend WHERE 1
ORDER BY `id` DESC
LIMIT 1")

$result = mysql_fetch_array($query);

mysql_query("DELETE FROM frend WHERE ID为= ".$result[0]); 只能从唯一的表格行中明确调用DELETE以获得最佳结果:)。

我不是大师大声笑,但这听起来像我之前遇到的一个熟悉的问题。

答案 2 :(得分:0)

你试过了吗?

$sql="DELETE FROM frend WHERE slo=('$_POST[ocenaa]') LIMIT 1;";

此外,您必须至少考虑使用mysql_real_escape_string($_POST[ocenaa])以及更好的MySQLi或PDO来制定您的查询。