晚上好!
我有一个触发器来更新表'comment'中名为vote的记录。当我更新'vote'表中名为'vote'的值时,触发器将被触发。对于触发器查询,我需要总结表'vote'中的所有'vote'记录,然后在'comment'中使用'comment'更新行。Id =投票。输入"while"投票。Uid = user.id'.
触发功能:
DROP TRIGGER IF EXISTS `CommentVoteOnUpdate`;CREATE DEFINER=`root`@`localhost` TRIGGER `CommentVoteOnUpdate` AFTER UPDATE ON `vote` FOR EACH ROW UPDATE comment
SET comment.vote = (
SELECT SUM(vote.vote)
FROM vote, comment, user
WHERE comment.id = pid AND uid = user.id
)
WHERE comment.id = new.pid
当我想更新'vote'表中的值时,我得到了以下错误消息:
"表'comment'被指定两次,既作为'UPDATE'的目标,又作为数据的单独来源"
你们有人能解决我的问题吗?
您需要为注释表(在子查询中)提供一个别名。