22 Temmuz 2010, PERŞEMBE
Kaldırmak MySQL yinelenen satırları
Aşağıdaki alanları içeren bir tablo var:
id (Unique)
url (Unique)
title
company
site_id
Şimdi, satır aynı olması gerekir başlık, şirket ve site_list. Bunu yapmanın bir yolu, bir script (PHP) ile birlikte aşağıdaki SQL kullanarak:
SELECT title, site_id, location, id, count( * )
FROM jobs
GROUP BY site_id, company, title, location
HAVING count( * ) >1
Bu sorguyu çalıştırdıktan sonra, çiftleri bir sunucu tarafı komut dosyası kullanarak kaldırabilirsiniz. Ama, eğer bu sadece SQL sorgu kullanarak yapmış olabilir bilmek istiyorum.
CEVAP
22 Temmuz 2010, PERŞEMBE
Çok kolay bunu yapmak için bir şekilde 3 sütun UNIQUE
Bir dizin eklemek için. ALTER
deyimi yazarken, IGNORE
anahtar kelime vardır. Bunun gibi
ALTER IGNORE TABLE jobs
ADD UNIQUE INDEX idx_name (site_id, title, company);
Tüm bu yinelenen satırları düşecek. Kopyası vardır bir yararı INSERTs
hata gelecek. Her zaman olduğu gibi, böyle bir şey çalıştırmadan önce bir yedek almak isteyebilirsiniz...
Bunu Paylaş:
Nasıl yinelenen satırları kaldırmak mi...
Dize gelen yeni satırları kaldırmak...
Yinelenen / aynı MySQL tablo kayıtları...
Birden çok satır için YİNELENEN KEY UP...
Yinelenen log4net günlük ortadan kaldı...