Nasıl görebilirim benzersiz kayıtların sonuçları mysql kayıtları ekledikten sonra eklendi

2 Cevap php

Ben bir PHP çaylak değilim.

Ben bir CSV ile haftalık güncelleme olacak bir veritabanı var. Şimdiye kadar ben, sunucuya dosya upload PHP ile dosyayı açın ve benim tabloya veri eklemek için idare ettik.

Şimdi eklendi benzersiz kayıtları (ekranda veya bir dosyada) dönmek istiyorum. Bunu nasıl yaparsınız?

2 Cevap

Ne onları benzersiz kılan nedir? Biz şeması hakkında biraz daha fazla bilgiye ihtiyacımız var.

Her neyse, kolayca bir date_added sütun ekleyebilirsiniz varsayılan CURRENT_TIMESTAMP. Sonra date_added eklendi öğrenmek için azalan sıralar bir sorgu çalıştırabilir.

Sadece iyi, benzersiz bir satır yeniden yerleştirerek olmamalı .. benzersiz sonuçlar çekerek, bu nedenle doğru bunu önlemek, daha sonra date_added sadece gerçekten yeni girdileri yansıyacaktır ile ilgili.

Burada bir kod örneği:

İlk olarak, masanıza date_added sütun eklemek:

ALTER TABLE your_table ADD COLUMN date_added TIMESTAMP DEFAULT CURRENT_TIMESTAMP

DEFAULT CURRENT_TIMESTAMP otomatik olarak geçerli tarih ile ilgilenir, böylece mevcut INSERT kodu hakkında bir şey değiştirmek zorunda değilsiniz.

Yerde bu sütunda ile, artık kolayca kayıtları belirli bir tarih için ilave edildiği kontrol edebilirsiniz:

-- Rows for March 29, 2010
SELECT DISTINCT * FROM your_table WHERE DATE(`date_added`) = '2010-03-29';

DISTINCT sadece o tarihte eklendi benzersiz satırları görmek emin olun olacaktır.

İşte "bugünün kayıtları" çekecek başka kullanışlı sorgu var:

SELECT DISTINCT * FROM your_table WHERE DATE(`date_added`) = CURRENT_DATE;

Hatırlamanız gereken tek şey sütun kendi ekler zaman yoktu beri varolan kayıtları, 0 bir tarih var olacaktır.

Eğer bir zaman damgası ile yeni bir satır ekleyerek ediyorsanız, böyle bir şey yapabilirsiniz

// Insert CSV into the DB with this timestamp
$todays_insert_time = time();

...

// Get unique rows from today
$unique_rows = mysql_query("SELECT DISTINCT `whatever_column_makes_the_row_unique` FROM `some_table` WHERE `insert_time`=" . $todays_insert_time);