Что происходит, ON DUPLICATE KEY UPDATE
вы проверяете, был ли дубликат на ключе 1, id
. То, что вы пытаетесь получить, это уникальные значения для поля searchquery
. Вам нужно будет создать УНИКАЛЬНЫЙ индекс для поля searchquery
. Для этого запустите ALTER TABLE query ADD UNIQUE ( searchquery )
.
Однако то, что делает ON DUPLICATE KEY UPDATE
часть вашего запроса, вероятно, не то, что вы хотите. Чтобы указать, что этот запрос был повторен позже, вы, вероятно, захотите сделать ON DUPLICATE KEY UPDATE datetime='$datetime'
Кроме того, вы уверены, что вам нужно поле id
вообще?