2016-08-13 188 views
-2

我在插入,工作之前觸發了。現在它根本不開火。MySql觸發器沒有觸發(完全)

複製表&觸發到另一個數據庫,它工作正常。

試圖重新觸發一切,並沒有改變。

如果我看INFORMATION_SCHEMA,觸發器表,我看到problematc觸發不同於其它SQL_MODE值是NO_AUTO_VALUE_ON_ZERO相比,具有所有其他人:STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION。

如果這是所有原因?

+0

剛從頭開始重新創建觸發器,NO_AUTO_VALUE_ON_ZERO成爲STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,所以它似乎不是問題的原因。沒有變化,它不會起火。 –

+0

http://shrani.si/f/1U/11W/24T9L4ON/tmp.jpg –

+0

進一步:SELECT @@ sql_mode返回STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION有問題的服務器和服務器上的空字符串,其中一切正常 –

回答

0

的訣竅是:

#Set the SQL mode to strict 
#comented, coz strict blocks insert althought key field is filled on before insert trigger 
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 

重新啓動服務器。