MySQL get all affected rows for multiple statements in one query

后端 未结 3 1081
温柔的废话
温柔的废话 2020-12-20 02:08

MySQL/PHP:

For a query with multiple statements, which deletes rows in four different tables, I want to know the combined number of affected rows. T

3条回答
  •  轮回少年
    2020-12-20 02:46

    Something like this maybe?

    include $_SERVER['DOCUMENT_ROOT'] . '/goalview/includes/db.inc.php';
    
    $sql = array();
    $sql[] = "DELETE FROM `persons` WHERE `persons`.`id` = '$person' AND `owner = '$user' AND `userOrContact` = 'contact';"
    $sql[] = "DELETE FROM `tabs` WHERE `person` = '$person' AND `ownerIdentity` = '$user' AND `selfOrOther` = 'other';"
    $sql[] = "DELETE FROM `tabAccess` WHERE `person`= '$person' AND `givenToIdentity` = '$user';"
    $sql[] = "DELETE FROM `personAccess` WHERE `viewedPerson` = '$person' AND `viewerIdentity` = '$user';"
    
    $aff_rows = 0;
    
    foreach($sql as $current_sql)
    {
     $deleteContacts = mysqli_query($link, $current_sql); 
     $aff_rows = $aff_rows + mysqli_affected_rows($link);
    }
    

提交回复
热议问题