için, bir sonraki numarası almak için nasıl PostgreSQL için this yapmaya çalışıyorum. PostgreSQL Yazarlarında okuyucuyu engellemeyi anlamıyorum. Öyleyse bir tablodaki sırayı nasıl güvenli bir şekilde artırabilirim. PostgreSQL'in bir dizi özelliğine sahip olduğunun farkındayım, ancak bunu aramıyorum çünkü o zaman veritabanında oluşturulan binlerce dizim olurdu.PostgreSQL
+----+-----------+------+-------+--+
| id | Part | Seq | Model | |
+----+-----------+------+-------+--+
| 1 | Head | 0 | 3 | |
| 2 | Neck | 1 | 3 | |
| 3 | Shoulders | 2 | 29 | |
| 4 | Shoulders | 2 | 3 | |
| 5 | Stomach | 5 | 3 | |
| 6 | Groin | 6 | 3 | |
+----+-----------+------+-------+--+
: Ben Modeli Yani burada 3 için
Stomach
sonraki seq ile yeni bir rekor ekleyebilirsiniz nasıl
+----+-----------+------+-------+--+
| id | Part | Seq | Model | |
+----+-----------+------+-------+--+
| 1 | Head | 0 | 3 | |
| 2 | Neck | 1 | 3 | |
| 3 | Shoulders | 2 | 29 | |
| 4 | Shoulders | 2 | 3 | |
| 5 | Stomach | 5 | 3 | |
+----+-----------+------+-------+--+
yeni tablo gibi görünmek için varsayalım şudur:
Böyle bir tablo var
Model 3 sadece en yüksek seq sonraki numarayı verecek bir ekleme sorgusu oluşturabilir bir yolu var mı. Ayrıca, eşzamanlılık güvenli bir şey arıyor.
[tablo kilitleri] vardır (http://www.postgresql.org/docs/current/static/sql-lock.html) ve [danışma kilitleri] (http://www.postgresql.org/docs/ 9.1/static/functions-admin.html # FUNCTIONS-ADVISORY-LOCKS) gerçekten ihtiyacınız varsa –