не заносит одни и теже данные в mysql из скрипта

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

не заносит одни и теже данные в mysql из скрипта

Непрочитанное сообщение Гость » 2010-04-06 10:14:23

есть php скрипт, который анализирует и заносит в бд mysql строки файла. Как принципиально сделать, чтобы при очередном запуске скрипта, не заносились одни и теже данные в mysq?
Поля в таблицы:месяц, день, час-минуты-секунды, отправитель, получатель.
Анализируемый файл - это лог-файл почтаря. Если что в mysql можно занести еще ID письма.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

FiL
ст. лейтенант
Сообщения: 1374
Зарегистрирован: 2010-02-05 0:21:40

Re: не заносит одни и теже данные в mysql из скрипта

Непрочитанное сообщение FiL » 2010-04-06 17:07:05

если одно из полей является первичным ключом, то оно и не добавится второй раз.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: не заносит одни и теже данные в mysql из скрипта

Непрочитанное сообщение ProFTP » 2010-04-06 22:20:50

постройте архитекутуру таблиц, в прицнипе key можно добавить, да... но запросы должны быть привильными... иначе выдаст ошибку, что key не может быть продублирован
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: не заносит одни и теже данные в mysql из скрипта

Непрочитанное сообщение BlackCat » 2010-04-07 11:30:19

Во-первых, как было уже сказано, вам нужен ключ - для того, что бы MySQL мог определять одинаковые записи.
Во-вторых, есть пара вариантов, как выполнить дополнение без добавления дублирующихся данных.
1. "INSERT IGNORE ..." - добавить данные, дубликаты пропустить и не считать ошибкой.
2. "INSERT ... ON DUPLICATE KEY UPDATE" - обновить запись для дублирующегося значения ключа.
3. "REPLACE ..." - действует как предыдущий, но более выразительная запись (расширение MySQL стандарта SQL).

Подробности здесь:
http://dev.mysql.com/doc/refman/5.1/en/insert.html - INSERT
http://dev.mysql.com/doc/refman/5.1/en/replace.html - REPLACE

И по-традиции. Полезно посмотреть документацию по MySQL перед тем как задавать подобные вопросы.