karşı INTO INTO INTO INTO, bir sorun var, gerçekten bir sorun var.INSERT [INT]
Veritabanımda oldukça küçük, yalnızca 3 sütun var ama büyüme potansiyeli olan bir tablo var. Sorunumda iki çözüm var, ancak neden birini veya diğerini kullanacağından emin değilim.
Veritabanında zaten bulunmayan veya bulunmayan bir veri parçası var. Bunu çözmenin iki yolu. Benzersiz kimliğim var, kontrol etmek çok kolay. kayıtlar veritabanında mevcut ve eğer değilse
- Kontrol,
INSERT INTO
veritabanı - Kullanım
REPLACE INTO
, zaten kimliğini var çünkü.
Şimdi sorum var. Hangisi daha iyidir? 2 sonuçtan birini kullanarak artıları ve eksileri nelerdir. Ya da daha iyi bir sonuç var mı?
Bir not, veriler tam olarak aynı, bu nedenle kayıt daha yeni bir değerle güncellenir. Böylece REPLACE INTO
zaten var olan verileri ekleyecektir.
Dikkat edin, 'INPLAY INTO 'dahili olarak bir' DELETE 've ardından bir INSERT olarak uygulanır. Sil, normal bir silidir, yani yabancı anahtarları kontrol eder ve 'ON DELETE' şartlarına uyur. * Muhtemelen * İstediğin gibi ... DUPLICATE ANAHTAR GÜNCELLEMESİNİ ... ... yine de istiyorum. – Charles
Ama, burada en iyi uygulama nedir? Ve neden –
Ayrıca, aynı (mevcut) değerlere sahip bir satırı güncellemeye çalışırsanız, MySQL değerlerin aynı olduğunu algılar ve güncellemeyi atlar, zaman tasarrufu, kilitler, vb .-- INSERT kullanmak için başka bir sebep INTO ... DUPLICATE ANAHTAR GÜNCELLEME ... 'önce var olan satırı silmeye karşı. –