У меня есть таблица, которая получает новые данные каждые несколько секунд. Рассмотрим мой стол ПРОДУКТ:Избегать повторных данных для определенного времени Интервал
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
| id | business_id | name | description | link | status | created_at |
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
| 1 | 12 | qwerty | Description for product qwerty | zxcvb | 1 | 2015-12-07 23:49:33 |
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
| 2 | 12 | abcde | Description for product abcde | mnopq | 0 | 2015-12-07 23:49:33 |
+----+-------------+--------+--------------------------------+-------+--------+---------------------+
Значения в столбцах имя и описание являются уникальными (я не уверен, что это правильно).
Условие, которое я хочу: если новые данные совпадают с последними вставленными данными, но метка времени больше 5 минут, то выполните обновление или добавьте новую строку в таблицу. Хотя имя и описание являются уникальными.
Query Я попытался:
INSERT INTO product(business_id, name, description, link)
VALUES ('$business_id' ,'$product_name','$product_description', '$short')
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)
Какое условие я должен изменить? Должен ли я удалять уникальные ключи?
ID должен быть первичным, поэтому по определению уникальный. Название, безусловно, может быть уникальным, но кажется маловероятным или ненужным, чтобы описание было - хотя и немыслимым. Здесь нет необходимости в условии if. На самом деле это было бы контрпродуктивно. – Strawberry