我不完全清楚数据库系统中的事务是做什么的。我知道它们可以用来完全回滚更新列表(例如,在一个账户上扣钱,然后添加到另一个账户),但这就是它们所做的全部吗?具体地说,它们可以用来防止竞争条件吗?例如:
// Java/JPA example
em.getTransaction().begin();
User u = em.find(User.class, 123);
u.credits += 10;
em.persist(u); // Note added in 2016: this line is actually not needed
em.getTransaction().commit();
我对MySQL joins非常陌生,我已经把它放在一起了,它正在工作,但我不知道是否有更好的方法来做到这一点??
$q = $dbc -> prepare("SELECT l.layout, a.email
FROM layout AS l
JOIN accounts AS a ON (l.id = a.id)
WHERE email = ?");
$q -> execute(array($_POST['email'