Ben bir JSON nesne dize dizisi alıyorum. Ben bir DB bu dizeleri kaydetmek istiyorum, ama onlar orada değil zaten sadece. Ben girmek üzereyim ne DB zaten ne karşılaştırmak ve maçları dışlamak için en iyi yolu nedir?
PHP ve MySQL kullanıyorum.
Ne tarif dizeleri zaten varsa yalnız kaydını bırakmak isteyen olduğundan, ne muhtemelen istediğiniz IGNORE
değiştirici INSERT
(yani do INSERT IGNORE ...
.) Yinelenen bir anahtar bulunursa eğer sorgu hiçbir şey yapacaktır. Bu takmadan konum dize alanları onlara benzersiz tuşları var ki, elbette gerektirir.
Çok basit bir örnek:
Your table : users Your fields : users_id, user_name, zip_code, created Unique Index : user_name
INSERT INTO users (user_name, zip_code, created) VALUES ('joe',75034,'2009-06-11') ON DUPLICATE KEY UPDATE users_id=LAST_INSERT_ID(id)
User_name benzersiz bir dizin var; Eğer öyleyse, bir kereden fazla eklemek olamaz. Yukarıdaki SQL kullandığınızda, sadece iyi ilk defa katacak. İkinci kez, aslında ekleme yapmayacağım. Yolu, çift anahtar üzerinde kurulum, artık PHP ile mysql son insert id getirebilir ve users_id gerçek bir ekleme veya yinelenen olup olmadığını ne olduğunu biliyorum.