DROP TRIGGER IF EXISTS `dislike_check`;CREATE DEFINER=`root`@`localhost` TRIGGER `dislike_check` BEFORE INSERT ON `likes` FOR EACH ROW BEGIN
DECLARE dummy integer default 0;
SELECT 1 INTO dummy
FROM dislike
WHERE (user_id = NEW.user_id AND music_id = NEW.music_id);
IF (dummy = 1) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Any Message';
END IF;
END
2条答案
按热度按时间8ehkhllq1#
您必须重新设计数据库,合并
likes
和dislikes
表,并为评级创建bool列或
你不能重新设计数据库你可以使用后端语言检查第一个
table 1
和检查后插入到table 2
OR SQL方式
使用INSERT SELECT:
使用TRIGGERS:
7z5jn7bk2#
我创建了这样一个表:
以及在存储新的喜欢/不喜欢之前检查用户的喜欢/不喜欢