Создание другой таблицы для хранения информации из таблиц users
и posts
:
CREATE TABLE votes (
user_id INT
, post_id INT
, PRIMARY KEY (user_id, post_id)
);
При таком подходе:
Я былдумать о наличии столбца в сообщениях, в котором будут храниться ответы пользователей, которые проголосовали за него.Другая идея - иметь пользователей с идентификаторами постов, за которые он / она проголосовал.
Если вы не сохраняете значения как значения с разделителями (для размещения в одной ячейке)) или JSON, вы получите много строк только для одного поста.Но с другой стороны, это плохой подход.
Придерживайтесь создания новой таблицы, которая содержит отношение, определяющее «голосование».Таблица достаточно проста для проверки:
SELECT COUNT(t1.post_id) AS vote_count
FROM votes AS t1
WHERE
t1.user_id = SOME_INTEGER
AND t1.post_id = SOME_INTEGER