嗨,大家好我在觸發器的某個位置有以下代碼。 (INSERT AFTER觸發器)MySQL TRIGGER奇怪的行爲
DECLARE Interv int;
在某些時候我使用下面的代碼:
SELECT myfield FROM TABLE WHERE interv=new.interv
但顯然mysql的混淆了兩個變量的值(NEW.INTERV AND INTERV)
和鴕鳥政策返回我正確的查詢的價值。
但是,如果我使用DECLARE Interv_Value int
而不是DECLARE Interv int
問題SELECT
工作正常。
任何想法?我正在使用MySQL 5.1.68。
你的桌子實際上有'interv'字段嗎?如果是這樣,那麼難怪mysql會感到困惑。如果您將變量命名爲與表字段相同,那麼實際字段將優先於相同名稱的變量。 – 2014-09-03 14:45:43