Ben bir işlem benzeri şekilde fatura işlemek için bir arayüz oluşturmak istiyoruz.
Veritabanı faturalar için satır öğeleri tutar fatura bilgilerini tutan bir fatura tabloda, ve bir invoice_lines tablo oluşur. Web sitesi fatura ve bunlara karşılık gelen hatların eklenmesi, modifikasyonunu ve kaldırılmasına izin komut bir dizi.
Ben sorunu bu, ben web uygulaması yansıtılması veritabanı ASİT özelliklerini istiyorum.
- Atomic: kullanıcı hits tüm fatura değiştirilmiş veya tüm fatura hiç değişmez, ya kaydettiğinizde.
- Consistent: uygulama kodu zaten tutarlılık sağlar, çizgileri olmayan faturalara ilave edilemez. Fatura kimlikleri taklit edilemeyen.
- Isolated: Bir kullanıcı bir faturaya değişikliklerin bir dizi ortasında ise, ben kullanıcı tıklama kaydetmek kadar diğer kullanıcılardan bu değişiklikleri gizlemek istiyorum.
- Durable: web sitesi ölürse, veri güvenli olmalıdır. Bu zaten çalışır.
Ben bir masaüstü uygulaması yazma olsaydı, bana sadece düzenlemek başında ve sonunda BEGIN TRANSACTıON'ı kullanmak ve yürütme için izin, her zaman MySQL veritabanı için bir bağlantı korumak olacaktır.
Den ne anlamak Bir PHP sayfada TRANSACTıON'ı BEGIN edemez ve bağlantı sayfaları arasında kapalı olduğundan farklı bir sayfada COMMIT.
Uzantıları olmadan bu mümkün kılmak için bir yolu var mı? Ben ne bulduk itibvardırn, sadece SQL Relay bunu yapar (ama bir uzantısıdır).