Python запись в базу данных Mysql

Узнай цену своей работы

Формулировка задачи:

Привет всем. Помогите дописать код. T3: Внизу код, он работает так, пишет лог в базу. Но суть в том что он записывает все запросы тем самым заспамливает базу. Помогите подправить, чтобы он проверял на наличие записи по двум параметрам: (ip, port,). Если есть запись в базе с этими параметрами чтобы он не писал ее повторно. То есть избавиться от дубликатов.
Листинг программы
  1. def mysql_logscs(ipcs, portcs):
  2. timey = datetime.datetime.now().strftime('%Y')
  3. timem = datetime.datetime.now().strftime('%m')
  4. timed = datetime.datetime.now().strftime('%d')
  5. timeh = datetime.datetime.now().strftime('%H')
  6. timemin = datetime.datetime.now().strftime('%M')
  7. times = datetime.datetime.now().strftime('%S')
  8. attempts = 0
  9. while attempts < 1:
  10. try:
  11. host,name,user,password,table = cfg.get("LOG","HOST"),cfg.get("LOG","NAME"),cfg.get("LOG","USER"),cfg.get("LOG","PASSWORD"),cfg.get("LOG","TABLE")
  12. db = MySQLdb.connect(host=host,user=user,passwd=password,db=name)
  13. c = db.cursor()
  14. c.execute("INSERT INTO MS01 (timeyear, timemonth, timeday, timehour, timeminute, timesecond, ip, port, type) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)", (timey, timem, timed, timeh, timemin, times, ipcs, portcs, "cs"))
  15. c.close()
  16. attempts += 1
  17. except MySQLdb.Error, e:
  18. print "Not successfully connected and update log data. Retry to connect...5 Seconds."
  19. print "Error: %s" %e
  20. time.sleep(5)
  21. thread.exit()
Пожалуйста по возможности исправите сам код, и напишите готовый образец.
Ребята немного дополнения. Не по двум параметрам а по трем: (timeday, ip, port)
Есть у кого какие идеи? Кто поможет, дам соточку на пивко.

Решение задачи: «Python запись в базу данных Mysql»

textual
Листинг программы
  1. mysql> INSERT IGNORE INTO access_logs (login, ip_address, port_number, time_stamp) VALUES ('user1', 2130706433, 80, 1481907621);
  2. Query OK, 0 rows affected, 1 warning (0.01 sec)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут