здравствуйте, есть таблица questions с полем answers (int), и есть таблица answers с полем (question_id)
как можно обновить поле answers у всех questions, чтобы было ровно столько записей сколько есть записей в таблице answers с полем questions_id = id запись в questions
Если не ошибаюсь, можно так:
UPDATE `questions` q
SET q.`answers` = (
SELECT COUNT(`question_id`)
FROM `answers` a
WHERE a.`question_id` = q.`id`
)
Но как правильно подметил @Mike в комментарии:
Существование этого поля является избыточным и его надо постоянно обновлять. в таких случаях принято не создавать поле, а вычислять количество на ходу.
UPDATE
questions q left join
(select count(aa.id) as c, aa.questions_id
from answers aa
group by aa.questions_id) a
on a.questions_id=q.id
set q.answers=a.c;
Тест: http://sqlfiddle.com/#!9/f4c853/1
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Переписываю движок с процедурного метода на ООПСоздаю несколько классов в начале каждого пишу
Есть маршруты по которым при переходе страница отображается нормально, например $route['about-us'] = "main/about_us"; Пытаюсь создать новый урл $route['new_about_us']...