Database Tutorials COMMIT এবং ROLLBACK ব্যবহার গাইড ও নোট

227

PHP MySQL ব্যবহার করে ডেটাবেসে ট্রানজেকশন (Transaction) পরিচালনা করা গুরুত্বপূর্ণ একটি প্রক্রিয়া। ট্রানজেকশন ব্যবহার করে আপনি একাধিক ডেটাবেস অপারেশনকে একত্রে কার্যকর করতে পারেন এবং কোনো সমস্যা হলে পূর্ববর্তী অবস্থায় ফিরে আসতে পারেন। COMMIT এবং ROLLBACK এই প্রক্রিয়াগুলির প্রধান অংশ।


COMMIT: ডেটাবেসের পরিবর্তন নিশ্চিত করা

COMMIT হল একটি SQL কমান্ড যা ডেটাবেসে করা পরিবর্তনগুলিকে স্থায়ী করে তোলে। যখন আপনি একাধিক অপারেশন (যেমন, INSERT, UPDATE, DELETE) একসাথে চালান এবং সেগুলি সফলভাবে সম্পন্ন হয়, তখন COMMIT কমান্ড ব্যবহার করে সেগুলিকে ডেটাবেসে সেভ করতে হবে। COMMIT না করলে, করা পরিবর্তনগুলি হারিয়ে যাবে।

উদাহরণ:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// ডেটাবেস কানেকশন স্থাপন
$conn = new mysqli($servername, $username, $password, $dbname);

// কানেকশন চেক করা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// ট্রানজেকশন শুরু
$conn->begin_transaction();

try {
    // প্রথম SQL স্টেটমেন্ট
    $conn->query("INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')");

    // দ্বিতীয় SQL স্টেটমেন্ট
    $conn->query("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1");

    // COMMIT ব্যবহার করে পরিবর্তনগুলো স্থায়ী করা
    $conn->commit();
    echo "Transaction completed successfully!";
} catch (Exception $e) {
    // কোনো ত্রুটি হলে ROLLBACK করা
    $conn->rollback();
    echo "Transaction failed: " . $e->getMessage();
}

$conn->close();
?>

ROLLBACK: ত্রুটি ঘটলে পূর্বাবস্থায় ফিরে আসা

ROLLBACK হল একটি SQL কমান্ড যা ট্রানজেকশনের মধ্যে যেকোনো ত্রুটি ঘটলে সমস্ত পরিবর্তনকে পূর্বাবস্থায় ফিরিয়ে নিয়ে আসে। অর্থাৎ, যদি কোন একটি SQL অপারেশন ব্যর্থ হয়, তবে সমস্ত পূর্ববর্তী পরিবর্তনগুলোও বাতিল হয়ে যাবে। এটি ডেটাবেসে অযাচিত পরিবর্তন হতে রোধ করে।

উদাহরণ:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// ডেটাবেস কানেকশন স্থাপন
$conn = new mysqli($servername, $username, $password, $dbname);

// কানেকশন চেক করা
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// ট্রানজেকশন শুরু
$conn->begin_transaction();

try {
    // প্রথম SQL স্টেটমেন্ট
    $conn->query("INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane@example.com')");

    // ভুল SQL স্টেটমেন্ট (দ্বিতীয় অপারেশন)
    $conn->query("UPDATE accounts SET balance = balance / 0 WHERE user_id = 2");  // division by zero

    // যদি কোনো ত্রুটি না ঘটে তবে COMMIT হবে
    $conn->commit();
    echo "Transaction completed successfully!";
} catch (Exception $e) {
    // ত্রুটি ঘটলে ROLLBACK
    $conn->rollback();
    echo "Transaction failed: " . $e->getMessage();
}

$conn->close();
?>

ট্রানজেকশন ব্যবহারের গুরুত্ব

COMMIT এবং ROLLBACK ব্যবহার করে আপনি আপনার ডেটাবেস অ্যাপ্লিকেশনকে আরো নিরাপদ ও নির্ভরযোগ্য করতে পারবেন। বিশেষ করে, যদি আপনি একাধিক SQL অপারেশন একসাথে চালান, তবে এর মাধ্যমে আপনি নিশ্চিত হতে পারবেন যে ডেটাবেসে কোনো ভুল পরিবর্তন হবে না, এবং ত্রুটি ঘটলে সহজেই পূর্বাবস্থায় ফিরে আসা যাবে।


এইভাবে PHP MySQL এ COMMIT এবং ROLLBACK ব্যবহার করে আপনি আপনার ডেটাবেস পরিচালনা করতে পারবেন, যা ডেটা ইন্টিগ্রিটি (data integrity) নিশ্চিত করতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...