Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Mysql система голосов пользователя лайки итд ?

n0bleman Ученик (1), открыт 2 дня назад
Как правильно сделать базу лайков пользователя кому поставил лайк?
наприме ID пользователя 777

Создавать таблицу с именем 777 и уже в ней будет список пользователей других ID которому он поставил лайк?Так ? И есть ли лимит на количество созданных таблиц ? И правильно ли так делать ?

Например пользователь с ID 777 лайкнул пользователя с ID 888 ? Чтобы больше 1 лайка этот пользователя поставить не мог
2 ответа
Андрей Высший разум (466626) 2 дня назад
Нет, совершенно неправильно.

Никаких отдельных таблиц для каждого пользователя. Одна единственная таблица "лайки" c двумя полями, образующими составной первичный ключ или составной же уникальный индекс: id пользователя, который поставил лайк, id пользователя, которому он поставил лайк.
Вячеслав Рожнев Профи (859) 2 дня назад
 create table likes ( 
user_id int references users(id) on delete cascade,
liked_by int references users(id) on delete cascade,
liked_at timestamp,
primary key (user_id, liked_by)
);
https://sqlize.online/s/Y9
Похожие вопросы