0
所以我有這樣的觸發器:錯誤關於MySQL觸發器執行
CREATE TRIGGER `onUpdatePlayerTracker` AFTER UPDATE ON `playtracker`
FOR EACH ROW UPDATE players
SET deckplayedmost = (SELECT deckname
FROM playTracker
WHERE playerID = old.playerID
AND amount = (SELECT max(amount)
FROM playtracker
WHERE playerID = old.playerID
LIMIT 1))
,
deckplayedleast =(SELECT deckname
FROM playTracker
WHERE playerID = old.playerID
AND amount = (SELECT min(amount)
FROM playtracker
WHERE playerID = old.playerID
LIMIT 1))
,當我嘗試更新playtracker
PLAYTRACKER
PlayerID DeckName Amount
6 Space 1
4 Space 0
3 Space 1
5 Space 2
2 Space 1
1 Space 3
6 Sky 3
5 Sky 1
4 Sky 2
2 Sky 0
1 Sky 3
3 Sky 1
5 Ocean 3
4 Ocean 3
3 Ocean 0
1 Ocean 8
2 Ocean 4
6 Ocean 2
3 Mystic 2
2 Mystic 3
5 Mystic 2
6 Mystic 4
4 Mystic 1
1 Mystic 1
4 Forest 1
6 Forest 5
5 Forest 2
3 Forest 1
2 Forest 2
1 Forest 3
6 Desert 3
5 Desert 4
4 Desert 2
3 Desert 1
2 Desert 3
1 Desert 2
應觸發扳機,我得到一個錯誤說法更新無法完成,因爲結果包含多於一行。它沒有指定多重收益來自何處。它應該更新下面的球員表。
Players
PlayerID PlayerName DeckPlayedMost DeckPlayedLeast FavCardType
1 Daniel Ocean Mystic Duel
2 Gavin Ocean Mystic Event
3 Patrick Ocean Mystic Exchange
4 Joe Ocean Mystic Attack
5 George Ocean Mystic Event
6 Robert Ocean Mystic Rares
包含此文字作爲我的文章包含太多的代碼,沒有足夠的解釋。就像我認爲我已經提供了足夠的解釋,我知道它可能會更好,更詳細,什麼不是,但我是新來的。坦率地說,我仍然很驚訝,人們回覆!我的意思是我很感激,學習可以是一個艱難的挑戰,是對自我的真正考驗,我感謝你們所有人的幫助。使它的壓力更容易管理。
非常感謝。這解決了這一切。我還有另一個錯誤。謝謝你的幫助。 – bloopiebloopie