PHP PostgreSQL事务中的多个查询

时间:2018-12-03 06:28:28

标签: php postgresql

在这种情况下,表1是表2的一对多,表2是table3的一对多。表3的记录在创建时分配给表1,并在以后的过程(此过程)中的操作中分配给表2。在查询时,表1和表2的主键都是已知的。如果我在同一事务中先运行UPDATE,然后运行SELECT,那么SELECT是否会反映UPDATE?当我获取结果时,UPDATE会变得混乱吗?

SQL:

UPDATE table3
SET fk_table2 = ?
WHERE fk_table1 = ? AND fk_table2 IS NULL;

SELECT field1, field2, field3, field4,
    COALESCE(field5, (SELECT default_table3_field5 FROM table1 WHERE table1.pk = table3.fk_table_1)) AS field5
FROM table3
WHERE fk_table1 = ? AND fk_table2 = ?;

PHP:

$prep = $pdo->prepare($sql);
$prep->execute([
    $table2_pk,
    $table1_pk,
    $table1_pk,
    $table2_pk
]);
$detail = $prep->fetchAll(PDO::FETCH_ASSOC);

0 个答案:

没有答案