MySQL是一個流行的開源關系型數據庫管理系統,可用于管理和存儲數據。在使用MySQL時,有時候可能需要在數據表中刪除記錄,同時還要觸發相應的操作。例如,當刪除文章時,還需要將文章相關的評論和標簽一并刪除。
下面是一個示例代碼,演示如何進行刪除操作,并自動刪除關聯在不同數據表中的數據:
//連接數據庫 $conn = mysqli_connect("localhost", "username", "password", "database"); //檢查連接是否成功 if (!$conn) { die("連接數據庫失敗:" . mysqli_connect_error()); } //設置將自動提交事務 mysqli_autocommit($conn, false); try { //刪除文章記錄 $article_id = $_POST['article_id']; $sql = "DELETE FROM articles WHERE id = '$article_id'"; mysqli_query($conn, $sql); //刪除評論記錄 $sql = "DELETE FROM comments WHERE article_id = '$article_id'"; mysqli_query($conn, $sql); //刪除標簽記錄 $sql = "DELETE FROM article_tags WHERE article_id = '$article_id'"; mysqli_query($conn, $sql); //提交事務 mysqli_commit($conn); //輸出成功信息 echo "文章刪除成功!"; } catch(Exception $e) { //發生異常時回滾事務 mysqli_rollback($conn); echo "文章刪除失敗:" . $e->getMessage(); } //關閉數據庫連接 mysqli_close($conn);
代碼中使用了try-catch塊來處理可能發生的異常,如果在刪除記錄過程中出現錯誤,將會回滾事務。同時,還使用了mysqli_autocommit()函數來自動提交事務。