Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z ustawieniem właściwych wartości dla pól w tabeli
migacz
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.04.2003
Skąd: Tczew

Ostrzeżenie: (10%)
X----


Witam

Robię dziennik korespondencji i natrafiłem na takowy problem:
Dokument jest rejestrowany i jest mu nadawany numer. Numer ma taką postać
kolejny_numer/rok

Problem polega na tym że jeżeli zrobię dwa oddzielne pola "nr" i "rok" to php muszę wykonać dwa zapytania
Pierwsze
[sql:1:f31dd17b09] SELECT MAX(nr) FROM tabele WHERE rok=aktualny_rok[/sql:1:f31dd17b09]
i pobranie "nr" jako zmiennej a następnie drugie zapytanie które bedzie dodawało rekord. Obawiam się, że jeżeli bedzie pracowało kilkadziesiąt osób to może dojść do błędów i będa się powtarzać numery.

Z kolei jeżeli zrobię jedno pole, w którym bedzie taki wpis "kolejny_numer/rok" to jak ustawić MySQLa aby utomatycznie zmieniał "kolejny_numer" a rok wstawiał aktualny.

Może są inne sposoby jak to zrobić, ale ja nie mam pojęcia jak.
Z góry dzięki za wszelkie podpowiedzi, przykłady i rozwiązania
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
uboottd
post
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


Witamy wszystkich w temacie transakcje lub blokowanie tabel.
Blokownie tabel jets banalne: LOCK TABLE faktury, mieszamy na fakturach, UNLOCK TABLE i mozemy spac spokojnie.

Transakcje sa troche trudniejsze. Po pierwsze baza/tabela musi wspierac transackje (czytaj: jesli MySQL to tabela musi byc InnoDB lub inna transakcyjna). Potem leci tak: ustwiasz transakcej na poziom serializable,
robisz select najwyzszego wiersza dodajac na koncu zapytania FOR UPDATE (co lokuje wiersz), mieszasz na pobranych danych, i wstawiasz je insertem, po czym konczysz transakcje.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 05:19