大家好!我需要一些帮助。所以我的问题=头衔。如何删除数据库中具有最小(最低)ID的行?我的意思是:
数据库结构:
id title desc
21 One desc1
22 Two desc2
23 Three desc3
我需要删除ID为21的行。此ID将始终是动态的。
UPD:这是我的尝试:
$delete_row_query = mysqli_query($conn,"DELETE FROM `$grapht` WHERE id = (SELECT id FROM `$grapht` ORDER BY id ASC LIMIT 1)");
if(statement) {
mysqli_query($conn, $delete_row_query);
echo "CLEANED";
}
答案 0 :(得分:2)
试试这个:
DELETE FROM table WHERE id = (SELECT MIN(id) FROM table);
这将删除表中当前ID最低的条目。
修改:
必须注意的是,这个答案是在之后添加PHP之前基于原始帖子的。
编辑2:
在这里解决你的更大问题:
$delete_row_query = "DELETE FROM `$grapht` WHERE id = (SELECT id FROM `$grapht` ORDER BY id ASC LIMIT 1)"
if(statement) {
mysqli_query($conn, $delete_row_query);
echo "CLEANED";
}
你试图在没有语句的情况下查询第一个查询的结果。 这就是你得到空查询错误的原因。
我已经修复了它,它现在应该可以正常工作了。
答案 1 :(得分:2)
将您的SQL查询更改为
DELETE FROM `table_name` ORDER BY id LIMIT 1;
修改:
必须注意的是,这个答案是在之后添加PHP之前基于原始帖子的。
答案 2 :(得分:1)
您可以在limit
中使用order by
和delete
:
delete t
from t
order by id
limit 1;
修改:
必须注意的是,这个答案是在之后添加PHP之前基于原始帖子的。
答案 3 :(得分:0)
试试这个
DELETE FROM table ORDER BY ID ASC LIMIT 1