2016-07-15 5 views
0

У меня есть приложение для Android, в котором есть сообщения, новости, события, опросы и т. Д.Как хранить пользовательские данные в таблице базы данных Mysql?

Теперь я хочу, чтобы пользователи оценивали вышеуказанные вещи, и 1 пользователь может оценивать сообщение только один раз.

Итак, как я буду хранить данные, например, какой пост оценивается пользователями и как их хранить в ячейке таблицы.

У меня есть уникальный идентификатор пользователя, который я получаю через Facebook, и у меня также есть уникальный идентификатор сообщения для каждого сообщения.

Заранее спасибо

+0

post_ratings (user_id *, post_id *, оценка), где * = компонент PRIMARY KEY – Strawberry

+0

Ya я разобрался мое решение. Спасибо за ваш комментарий. –

+0

Я новичок в Mysql, так что вы можете сказать, может ли PRIMARY KEY применяться к Varchar? –

ответ

1

Если вы хотите сохранить консистенцию, необходимо, чтобы информация хранится на стороне сервера (на стороне клиента будет легко сломать это ограничение).

В этом случае вы можете создать новую таблицу, в которой идентификатор пользователя и идентификатор сообщения являются первичным ключом, таким образом вы гарантируете, что эти пары уникальны.

Как вы говорите, эти поля VARCHAR, вы получите что-то подобное:

CREATE TABLE rating_post ( userid VARCHAR(255), postid VARCHAR(255), rating TINYINT, PRIMARY KEY (userid, postid) )

+0

Хорошо, я тебя достал. Что вы подразумеваете, говоря, что поле является первичным ключом? –

+1

Когда поле является первичным ключом, это означает, что поле не может быть нулевым, а значение должно быть уникальным. В этом случае уникальной будет пара userid, postid, то есть не разрешено иметь две строки с одинаковыми значениями для userid и postid (но вы можете иметь повторный идентификатор пользователя до тех пор, пока postid будет отличаться и наоборот). – jperis

+0

Спасибо. Это сработало –

Смежные вопросы