Нужно ли устанавливать внешний ключ для увеличения строки таблицы на MySQL
Это неправильное название, я не мог придумать лучшего предложения.
Я создаю форум по основам PHP/MySQL, на котором я хочу показать, сколько тем в конкретном форуме. Пока все хорошо, мой вопрос: как сделать так, чтобы строка увеличивала количество тем каждый раз, когда я добавляю новую тему в форум, и убирала при удалении темы.
Я мог бы сделать это в сценарии, но, может быть, есть лучший способ сделать это из базы данных?
Спасибо в ожидании:)
1 ответ
Решение
Вы можете легко включить количество отношений один-ко-многим в один запрос, используя COUNT
агрегация и GROUP BY
, Например
SELECT f.id, f.name, COUNT(t.id) as topicCount
FROM forum f
LEFT JOIN topic t
ON f.id = topic.forumId
GROUP BY f.id, f.name