есть php скрипт, который анализирует и заносит в бд mysql строки файла. Как принципиально сделать, чтобы при очередном запуске скрипта, не заносились одни и теже данные в mysq?
Поля в таблицы:месяц, день, час-минуты-секунды, отправитель, получатель.
Анализируемый файл - это лог-файл почтаря. Если что в mysql можно занести еще ID письма.
не заносит одни и теже данные в mysql из скрипта
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- ст. лейтенант
- Сообщения: 1374
- Зарегистрирован: 2010-02-05 0:21:40
Re: не заносит одни и теже данные в mysql из скрипта
если одно из полей является первичным ключом, то оно и не добавится второй раз.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: не заносит одни и теже данные в mysql из скрипта
постройте архитекутуру таблиц, в прицнипе key можно добавить, да... но запросы должны быть привильными... иначе выдаст ошибку, что key не может быть продублирован
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: не заносит одни и теже данные в mysql из скрипта
Во-первых, как было уже сказано, вам нужен ключ - для того, что бы 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 перед тем как задавать подобные вопросы.
Во-вторых, есть пара вариантов, как выполнить дополнение без добавления дублирующихся данных.
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 перед тем как задавать подобные вопросы.