如果该行像select语句一样存在,我如何删除该行。我试着用delete替换select,但不起作用。I一条need语句,如果该行存在,则删除并返回1。或者,如果在表中找不到该行,则返回0。
SELECT IF ( EXISTS (SELECT * FROM `cancellation` WHERE `ID`=2), 1, 0) 发布于 2013-10-23 00:19:44
您应该执行两条语句。首先,您的删除:
DELETE FROM `cancellation` WHERE `ID` = 2 要获取计数,请立即在删除后添加以下内容:
SELECT ROW_COUNT()任何大于0的值都将被成功删除。
PHP:中的三值逻辑
如果您正在使用PHP,并且希望使用一些技巧,那么可以使用空值来表示删除过程失败。如果删除操作失败,PHP的mysqli_query将返回false,所以我们可以用它来强制返回值为空。
<?php
function zapper ($row_id) {
if ($result = mysqli_query($connection, "DELETE FROM `cancellation` WHERE `ID` = " . $row_id) === TRUE) {
if (mysqli_affected_rows($connection) > 0) {
// delete successful - some rows were deleted
return TRUE;
} else {
// delete successful - no rows were deleted
return FALSE;
}
} else {
// delete unsuccessful
return NULL;
}
}
?>发布于 2015-01-23 19:01:29
Delete查询始终返回
0 -->记录未删除时
1 -->删除成功时
像这样:
字符串sql="delete from标记where id=101;
flag=stmt.executeUpdate(sql);
https://stackoverflow.com/questions/19523029
复制相似问题