PHP POSTGRESQL ТРАНЗАКЦИИ
Транзакции позволяют обеспечить целостность данных в БД, обеспечивая их правильное изменение или возврат в предыдущее состояние в случае ошибки. В PHP для работы с PostgreSQL транзакции реализованы на уровне SQL-запросов и вызовов функций.
Для начала транзакции необходимо выполнить запрос START TRANSACTION
. Затем выполняются SQL-запросы, изменяющие данные в БД. Если запросы выполнены успешно, транзакция может быть зафиксирована с помощью запроса COMMIT
, иначе нужно выполнить запрос ROLLBACK
, который отменит все изменения.
Пример использования транзакций в PHP с PostgreSQL:
$conn = pg_connect("host=localhost dbname=example user=postgres password=mypassword");if (!$conn) { echo "Failed to connect to PostgreSQL\n"; exit;}pg_query("START TRANSACTION");$query1 = "UPDATE users SET balance = balance - 100 WHERE id = 1";$query2 = "UPDATE users SET balance = balance + 100 WHERE id = 2";$result1 = pg_query($query1);$result2 = pg_query($query2);if (!$result1 || !$result2) { pg_query("ROLLBACK"); echo "Transaction aborted\n";} else { pg_query("COMMIT"); echo "Transaction completed\n";}
Этот пример изменяет баланс двух пользователей. Если оба запроса выполнены успешно, транзакция будет зафиксирована, иначе все изменения будут отменены.
PostgreSQL, MVCC, транзакции, блокировки, уровни изоляции транзакций.
Логическая репликация и уровни изоляции транзакций PostgreSQL. Михаил Тюрин
🔥Разбираем SQL на примере PostgreSQL — SELECT, JOIN, GROUP, HAVING, Coalesce и др.
How to connect to PostgreSQL database from PHP (Code)
Основы PHP для верстальщика: шаг в backend
PHP для начинающих - #13 Подключение к БД и первый SQL-запрос
¿Cómo conectar PHP con PostgreSQL?
Основы SQL - #5 – Транзакции