![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 15.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam przykładowe zapytanie:
UPDATE tabela SET kasa=if(kasa<100,kasa,kasa-100) WHERE kto=1 Chodzi o to, aby w tabeli odjąć 100 zł, jeśli ktoś posiada więcej pieniędzy niż 100 zł. Warunków będzie więcej i kod będzie bardziej skomplikowany. Dlatego potrzebuję wiedzieć czy w chwili wykonywania instrukcji UPDATE ktoś miał więcej czy mniej niż 100 zł. Mogę zrobić to dwoma instrukcjami: UPDATE... SELECT... I w ten sposób sprawdzić, czy stan konta się zmienił. Ale jeśli w ciągu sekundy wykonywanych będzie 1000 operacji z różnych źródeł i wtedy pomiędzy UPDATE... a SELECT... wartość kasy może się już zmienić (przynajmniej mi się tak wydaje, że to możliwe). Jak uzyskać jakąś informację zwrotną korzystając z jednego polecenia? Moje pytania to: 1. Czy jeśli wykonam dwa polecenia w jednym zapytaniu "UPDATE...; SELECT..." to pomiędzy UPDATE a SELECT, w tej tysięcznej części sekundy, ktoś inny może zmodyfikować tabelę? 2. Czy istnieje jakiś bardziej elegancki sposób, aby uzyskać informacje w PHP z funkcji UPDATE, czy element został zmieniony? pozdr. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:32 |