首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql删除(如果存在

mysql删除(如果存在
EN

Stack Overflow用户
提问于 2013-10-23 00:11:06
回答 2查看 10.3K关注 0票数 0

如果该行像select语句一样存在,我如何删除该行。我试着用delete替换select,但不起作用。I一条need语句,如果该行存在,则删除并返回1。或者,如果在表中找不到该行,则返回0。

代码语言:javascript
复制
SELECT IF ( EXISTS (SELECT * FROM `cancellation` WHERE `ID`=2), 1, 0)  
EN

回答 2

Stack Overflow用户

发布于 2013-10-23 00:19:44

您应该执行两条语句。首先,您的删除:

代码语言:javascript
复制
DELETE FROM `cancellation` WHERE `ID` = 2 

要获取计数,请立即在删除后添加以下内容:

代码语言:javascript
复制
SELECT ROW_COUNT()

任何大于0的值都将被成功删除。

PHP:中的三值逻辑

如果您正在使用PHP,并且希望使用一些技巧,那么可以使用空值来表示删除过程失败。如果删除操作失败,PHP的mysqli_query将返回false,所以我们可以用它来强制返回值为空。

代码语言:javascript
复制
<?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;
      }
   }
?>
票数 3
EN

Stack Overflow用户

发布于 2015-01-23 19:01:29

Delete查询始终返回

0 -->记录未删除时

1 -->删除成功时

像这样:

字符串sql="delete from标记where id=101;

flag=stmt.executeUpdate(sql);

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19523029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档