I had to edit a trigger in my MySQL database. But when typing SHOW TRIGGERS nothing appear.

My database is the only one selected but I also tried SHOW TRIGGERS FROM myDBname. Still nothing.

This trigger fill a certain field based on other fields. And When I insert something in this table, the trigger works.

| job_id | job_machine |      job_start      | job_end | job_name |
|      1 |           1 | 2015-11-23 16:03:00 |         |          |
|      1 |           1 | 2015-11-23 16:03:00 |         | 15112311 |

And when I insert a new row with a job_machine and a job_start the field job_name is auto-completed

  • could You provide little more information? what version of mysql? how exactly You run command? (better copy past from console). I test it on 2 different version - all work. and one more - who definer of trigger and from which user You run command?
    – a_vlad
    Nov 23, 2015 at 15:30

2 Answers 2


You need to have the TRIGGER privilege as documented here: http://dev.mysql.com/doc/refman/5.6/en/privileges-provided.html#priv_trigger

So if your database was called foo and your user was 'bar'@'localhost' you would need to run:

GRANT TRIGGER ON foo.* to 'bar'@'localhost';

main reason for this - triggers created by one user (for example root) and select run from other, which not have full rights - You must have Trigger privilege for display triggers from database.

in other case - result will be empty.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.