У меня есть 3 таблицы:
- слово: id_word, слово (1, "дуга" / 2, "зоопарк")
- определение: id_definition, id_word, data (1, 1, "любая непрерывная часть окружности круга")
- ошибка: id_error, word (1, "ark")
Скрипт php выдает определение найденных слов. Чтобы получить это определение, я использую:
SELECT word.id_word,definition.data,definition.extra
FROM word LEFT OUTER JOIN definition ON word.id_word = definition.id_word
WHERE word.lang="en" AND word.word="arc"
В настоящее время, когда в моей таблице нет слова, я вызываю внешний API и сохраняю результат запроса в таблице.
Чтобы избежать постоянного неудачного запроса к этому API, я установил таблицу error . Он содержит все новые несуществующие слова, которые пользователи ищут (через внешний API). Чтобы избежать повторных ненужных запросов к внешнему API, мне также необходимо предварительно проверить, существует ли слово в таблице ошибок. Если оно существует, это означает, что кто-то уже пытался найти несуществующее слово в прошлом; и вместо того, чтобы искать его снова в API (у меня есть ограниченные запросы в день), я могу просто напечатать ошибку: «это слово ничего не значит».
Как я могу проверить, существует ли слово в таблице ошибок в том же запросе?