For two triggers(before insert and after insert),is it allowed for you to use where in the NEW keyword
You will notice that triggers in MySQL include FOR EACH ROW.  The values in NEW alias always, only, ever refer to the specific row that invoked the trigger. There is no ambiguity.  

If multiple rows are inserted in a single query, the trigger fires individually for each row, so in each iteration through the trigger you can test any of the NEW columns.