Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как избавиться от дублированных записей
 
 автор: puziko   (06.12.2008 в 00:12)   письмо автору
 
 

написал парсер рсс ленты теперь возник вопрос с занесением этого в mysql у меня идёт запрос каждую отпарсированую строку.. но так как рсс обновляеться не весь получаеться много дублированных записей .. думаю надо капать в сторону on duplicate key update но и тут надо както сделать лимит чтоб он искал одинаковые тока в последних 30 записях

  Ответить  
 
 автор: cheops   (06.12.2008 в 00:25)   письмо автору
 
   для: puziko   (06.12.2008 в 00:12)
 

Можно получить только уникальные записи, воспользовавшись конструкцией GROUP BY.

  Ответить  
 
 автор: puziko   (07.12.2008 в 00:28)   письмо автору
 
   для: cheops   (06.12.2008 в 00:25)
 

>Можно получить только уникальные записи, воспользовавшись конструкцией GROUP BY.

я в mysql если чесно полный ноль подскажи как это сделать

таблицу я создаю так

CREATE TABLE `items` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `title` varchar(200) NOT NULL default '',
  `autor` varchar(100) NOT NULL default '',
  `time_date` datetime NOT NULL default '0000-00-00 00:00:00',
  `url` varchar(100) NOT NULL default '',
  `description` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;


заношу в базу так

      INSERT INTO items 
                (title,autor,time_date,url,description) 
            VALUES
                ('$titles','$autor','$time_date','$url','$description')";

  Ответить  
 
 автор: cheops   (07.12.2008 в 13:34)   письмо автору
 
   для: puziko   (07.12.2008 в 00:28)
 

А, то есть вы хотите при вставке отсечь дубли?

  Ответить  
 
 автор: а-я   (06.12.2008 в 12:59)   письмо автору
 
   для: puziko   (06.12.2008 в 00:12)
 

ну там же дата есть. смотри по дате.
потом делай хэш каждой записи.
вот по ним и делай уникальные вставки.

  Ответить  
 
 автор: puziko   (07.12.2008 в 00:30)   письмо автору
 
   для: а-я   (06.12.2008 в 12:59)
 

>ну там же дата есть. смотри по дате.
>потом делай хэш каждой записи.
>вот по ним и делай уникальные вставки.

есть дата рсс но там она может быть одинаковой если несколько постов сразу опубликованы были..

  Ответить  
 
 автор: а-я   (07.12.2008 в 00:44)   письмо автору
 
   для: puziko   (07.12.2008 в 00:30)
 

ну... тогда отдельное поле `hash` char(32) ключ UNIQUE
при вставке указываем IGNORE, чтоб проигнорировать ошибки дублирования.
тогда даже проверять не надо есть там такая новость или нет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования