@Hanmari'nin yorumunda belirtildiği gibi. bir postgres tablolarına eklerken, on çakışma (..) hiçbir şey yapmaz yinelenen veri eklemek için kullanmak için en iyi kod değildir .:
query = "INSERT INTO db_table_name(column_name)
VALUES(%s) ON CONFLICT (column_name) DO NOTHING;"
ON CONFLICT kod satırı, insert deyiminin yine de veri satırları eklemesine izin verecektir. Sorgu ve değerler kodu, Excel'den postgres db tablosuna eklenen tarihin bir örneğidir. Kimlik alanının benzersiz olduğundan emin olmak için kullandığım postgres tablosuna kısıtlamalar ekledim. Aynı veri satırlarında bir silme çalıştırmak yerine, 1'den başlayarak kimlik sütununu yeniden numaralandıran bir sql kodu satırı eklerim. Örnek:
q = 'ALTER id_column serial RESTART WITH 1'
Verilerimin bir kimlik alanı varsa, bunu birincil kimlik / seri kimliği olarak kullanmıyorum, bir kimlik sütunu oluşturuyorum ve seri olarak ayarlıyorum. Umarım bu bilgiler herkese faydalı olur. * Yazılım geliştirme / kodlama konusunda üniversite derecem yok. Kodlamada bildiğim her şey, kendi başıma çalışıyorum.