2016-07-04 4 views
-1

おはよう!サブクエリを使用したMySqlアップデート・トリガー(#1093エラー)

投票という名前のテーブル 'コメント'からレコードを更新するためのトリガーがあります。私の 'vote'テーブルで 'vote'という名前の値を更新すると、トリガーが発生します。トリガークエリの場合は、 'vote'テーブルのすべての 'vote'レコードを集計し、 'comment.id = vote.pid'という行を 'comment'で更新する必要があります。 'vote.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 

は、その後、私は、次のエラーメッセージが表示されました:

「テーブル 『コメント』が2回指定され、両方の'UPDATE'とデータの別のソースとしてのターゲットとして "

誰かが私の問題の解決策を得ましたか?

+0

Thxが解決しました。 –

答えて

0

コメントテーブル(サブクエリ内に)に別名を付ける必要があります。詳細は、this questionを参照してください。

関連する問題