CREATE TABLE IF NOT EXISTS `User_Rep` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`USER_ID` int(11) NOT NULL,
`REPPER_USER_ID` int(11) NOT NULL,
`REP` tinyint(4) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`)
)
Это моя текущая таблица, пожалуйста, игнорируйте отсутствующий внешний ключ для user_id, просто не добавляйте их для краткости.«Репутационная система пользователя» - проверка того, имеет ли пользователь +1 +1 кого-то?
Когда пользователь решает респ кого-то новая запись добавляется в эту таблицу, то есть
INSERT INTO `User_Rep` (`ID`, `USER_ID`, `REPPER_USER_ID`, `REP`) VALUES
(1, 72, 3, 1),
(2, 72, 3, 1),
(3, 72, 3, -1);
И я могу вытащить какой-либо конкретной пользователи респ с помощью следующего запроса:
SELECT SUM(REP) FROM User_Rep WHERE USER_ID = 72
Однако , я изо всех сил пытаюсь разработать соответствующий запрос для выяснения того, был ли конкретный пользователь уже включен или заблокирован пользователем, так что пользовательский интерфейс может соответствующим образом реагировать и выполнять соответствующее действие (голосование или проголосовать)
Что происходит, когда пользователь поднимает, уменьшает, снова поворачивает и т. Д. ... и теперь есть несколько строк в таблице? Как я могу найти только соответствующие True/False?
Любая помощь с этим?
В этом простом случае уникальный индекс (user_id, repper_user_id) будет делать. Но если бы это было так, как здесь, в SO, вы должны добавить еще один столбец. – VMai