mysql - Aynı anda iki kayıtları güncelleştirmek

3 Cevap php

PHP'nin msqli kullanmak, bir sorgu ile iki kayıtları güncellemek mümkün mü?

Önce o sonra ben şunları yapın yoksa o $ pay_user, onun hesabında yeterli oyun para birimi var kontrol etmek için bir seçerim ...

Benim güncelleme sorgu:

"UPDATE hesap SET para = para -"... $ Para "WHERE USER_ID =" $ pay_user

"UPDATE hesap SET para = para +". $ Para. "WHERE USER_ID =". $ Recieve_user

Bu kirli okuma en durdurmak için işlem olduğunu.

Ben bir sorgu kaydetmek ve biri olarak onu aramak için umut oldu ... Bu mümkün mü?

3 Cevap

İki nerede hükümler aynı olmadığı için, tek bir deyimde bu sorguları birleştirmek olamaz.

Ikisi aynı anda yürütmek böylece bir işlem olarak işaretleyebilirsiniz.

http://dev.mysql.com/doc/refman/5.0/en/update.html bakın

kod örneği

update account a1, account a2 
set a1.money = a1.money - $money , a2.money = a2.money + $money
where a1.user_id = $pay_user and a2.user_id = $recv_user

Bunu yapmak için bir saklı yordam kullanarak öneririz. Bu php itibaren bir çağrı olacaktır, ve ortada başarısız olursa SP bir geri alma çıkarması gerekir.