Şimdiye kadar bir süredir web’e bakıyordum ve istediğime benzer bir şeye rastlayamıyor gibiyim. Sorgumu yazdığım yolla ilgili bir şey olduğunu biliyorum, ancak herhangi bir yardım memnuniyetle karşılanacaktır.MYSQL INSERT veya UPDATE IF
Yapmak ne çalışıyorum temellerini şudur:
varlığı söz
- bir tabloya bazı öğeler yerleştirin
isim, barkod, öğe, miktar, yer, fiyat ve tarihe
: formatındaadı - Belirli bir öğe için ancak birkaç yerde olarak öğeyi kullanılabilir - - birkaç sıra halinde barkod kullanılabilir barkod aynıdır fakat Adını miktar içerir - kendini açıklayıcı yeri - Bu farklı yerlerde olabilir fiyat - bu belirli bir öğeye bağlı date - son kez bu ürün satın alındı Zor olan şey, bir "isim" farklı fiyatlar için farklı yerlerde çeşitli öğelere (barkod ve öğe) sahip olabilir. Fikir, bir müşterinin belirli bir zamanda bir ürünü ne kadar satın aldığını görebilmesidir, dolayısıyla ne kadar satış yapmaları gerektiğini bilirler.
Ancak, satın aldıkları fiyat, fiyatın önceki bir satın alma işleminden farklı olması durumunda, tabloda başka bir satır oluşturmaları için değişebilir.
Her şeyin ardındaki fikir, her bir yerde her bir öğenin ne kadar bir "ad" aldığını ve daha sonra satın aldıkları fiyatı ve en son satın aldıklarını kaydetmektir.
Bunun mantıklı olmasını umuyorum. psuedo kodunda
:
Insert into table if does not exist - name, barcode, item, quantity, location, price and date If name, barcode, item, location and price are the same - Update quantity and date (if more recent)
Fantastik, ancak bunu güncellemeyi başarabildim, eğer sadece güncellemeyi güncellemek istiyorsam, eğer mevcut olanı daha yeniyse, ne eklenmeli? – roadkill247
Ve daha yeni değilse, tarihi olduğu gibi bırakın? Ve sadece miktarı değiştirmek? Ya da değiştirilmemiş her ikisini de bırakın (yani bu durumda hiçbir şey yapmayın)? –
Merhaba ypercude, eğer tarih daha yeni değilse, o zaman değiştirilmemiş her ikisi de – roadkill247