URL для справки: jobs.sitesixteen
В настоящее время у меня есть запрос, который запускается каждый раз, когда выполняется поиск работы, который добавляет этот поиск работы в таблицу search_performed. Это вставляет штраф:
INSERT INTO `searches_performed`
(`state`,
`city`,
`distance`,
`term`,
`description`,
`telecommute`)
VALUES ( 'NY',
'New York',
'100',
'web design',
'1',
'1' )
В этой таблице также есть столбец "count" со значением по умолчанию 1.
Моя цель - без помощи Php и нескольких запросов - проверить, существует ли поиск, который я намереваюсь вставить, и если это не так, добавьте его. Если поиск, который я намерен вставить, существует, я просто хотел бы добавить 1 в столбец "count".
Как всегда, любая помощь приветствуется.
Вы можете использовать: INSERT... ON DUPLICATE KEY UPDATE
i.e: Определите первичный ключ в полях поиска, а затем используйте
INSERT INTO `searches_performed`
(`state`,
`city`,
`distance`,
`term`,
`description`,
`telecommute`)
VALUES ( 'NY',
'New York',
'100',
'web design',
'1',
'1' )
ON DUPLICATE KEY UPDATE counts=counts+1;
Возможно, вы сможете выполнить это, используя INSERT... ON DUPLICATE KEY UPDATE. Вам нужно будет сделать условия поиска ключевыми. См. Приведенную выше страницу.
Это только срабатывает, если уникальный индекс дублируется
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html