Цитата:
Sinker:
Видимо имелось в виду Select-Update
$sql="SELECT id, ROUND(avg(RATING)) as urating FROM reviews GROUP BY id ORDER BY id"
затем foreach строка в результате запроса:
|
пока организовал это именно так, хотя это, имхо и не разумно (почему и задал это вопрос)
Цитата:
Sheryld:
а вот так примерно выглядит триггер:
|
триггер тоже уже был организован. Однако с его использованием есть проблема. Таблица mlist очень часто обновляется путем очищения её содержимого и upload'ом нового запроса sql из файла. Этот файл генерится программой, таким образом изменить его содержимое нельзя. Лишь возможные варианты - использовать команду UPDATE или INSERT. Если выбирать UPDATE, то тогда новые данные, появившиеся в этом файле в базу не попадают. Если INSERT - то будут дубли (прописать ON DUPLICATE увы нельзя). Таким образом, если триггер и срабатывает при добавлении нового/изменении старого значения в таблице reviews, то после убийства содержимого mlist все данные в последней теряются.
Цитата:
Sheryld:
ну и наконец, в целом, мне кажется невыгодной такая структура в принципе, тем более под мускул.
|
согласен. я и не хотел в таблице mlist делать отдельный столбец, хотел все данные в нужный момент цеплять из таблицы reviews. Но тут есть другая проблема - поскольку я организовал более-менее стандартный запрос к базе (чтобы создать один файл запроса, а потом уже ему передавать необходимые параметры), то чтобы добавить туда возможность использования еще одной таблицы его надо будет полностью переписать, что будет не просто.