DB:MySQL的的MySQL觸發錯誤:1442
使用:MySQL工作臺
我目前正在爲類項目中,我們要設計一個機場網站中,用戶可以登錄/註冊和購買門票提供各種航班。在工作了一段時間後,我意識到我的觸發器不工作。
我收到的錯誤:Error Code: 1442. Can't update table 'reservation' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
我試圖創建的形式供用戶選擇和購買門票之前插入一個保留在此錯誤絆倒了。我想知道如果有人可以看看我的數據庫,插入命令使用,也是我的觸發代碼。任何幫助將不勝感激,因爲我有意識地試圖解決這個問題好幾個小時。
Insert命令:http://pastebin.com/tyBPWNDd
整個DB並引發一個問題:http://pastebin.com/BvUj1NdH
解決:感謝所有幫助者,我能夠找出我的問題,這是使用遞歸觸發器當MySQL不支持。我通過刪除遞歸代碼解決了我的問題,並讓我的網站後端處理current_date集合而不是觸發器。我會很快發佈固定觸發器。
引用觸發器不能修改引起它要執行的表。你需要重新安排你的邏輯,這樣纔不會發生。 –
@TimBiegeleisen謝謝!你很有幫助 – Tonk
很高興能對你有用,但也許你應該評論你是如何解決問題的,這樣這個問題可能會對別人更有幫助。 –