假设我有这三个mysql查询:
SELECT customer_id FROM customers WHERE name = 'John'
INSERT INTO quests_on (quest_id, name, quest_points) VALUES ('1', 'John', '15)
UPDATE badges_on SET badge_owned = 'owned' WHERE quest_id = '1'
如何使用mysql事务确保进行所有更改,否则回滚更改。在php中使用PDO扩展是否足够?只是需要一些清晰度。我还想知道你是否可以在事务中使用SELECT查询,并且如果事务可以采用不同的路径(例如SELECT查询中的值是否存在)
答案 0 :(得分:2)
$db = new PDO($dsn, $user, $password);
$db->beginTransaction();
try {
// do your queries here, using PDO and $db object
$db->commit();
} catch (PDOException $e) {
$db->rollback();
}