У меня есть комната, которая имеет limit
пространства.В этом случае предположим, что limit = 100
.
И у меня есть total
, то есть когда пользователь присоединяется к комнате, тогда total = total + 1
.
Если пользователь присоединяется к комнате, тоотметьте total <= limit
.
Если true, тогда пользователь может присоединиться к комнате, если false не может.
Так что я хочу сделать дляон в Mysql
делает до того, как триггер вставки для проверки комнаты доступен, прежде чем пользователь присоединится к комнате.
CREATE DEFINER = CURRENT_USER TRIGGER `relay_novel`.`RoomJoinedUsers_BEFORE_INSERT` BEFORE INSERT ON `RoomJoinedUsers` FOR EACH ROW
BEGIN
SET @total = 0;
SET @limit = 0;
SELECT @total := total FROM roomjoinedusersInfo WHERE roomId = NEW.roomId;
SELECT @limit := limit FROM rooms WHERE id = NEW.roomId;
IF (@total > @limit) {
// DON'T DO INSERT (HOW?)
}
END
Мой вопрос
Какне вставлять данные в базу данных перед триггером вставки?
Есть ли лучший способ сделать это?
Пожалуйста, дайте мне знатьесли вам нужно больше информации.
Спасибо.