The Binary Log •When one or more tables with  AUTO_INCREMENT  columns are updated and a trigger or stored function is invoked. Like all other unsafe statements, this generates a warning if  binlog_format = STATEMENT . •When the body of a view requires row-based replication, the statement creating the view also uses it. For example, this occurs when the statement creating a view uses the  UUID()  function. •When a call to a loadable function is involved. •When  FOUND_ROWS()  or  ROW_COUNT()  is used. (Bug #12092, Bug #30244) •When  USER() ,  CURRENT_USER() , or  CURRENT_USER  is used. (Bug #28086) •When one of the tables involved is a log table in the  mysql  database. •When the  LOAD_FILE()  function is used. (Bug #39701) •When a statement refers to one or more system variables. (Bug #31168) • auto_increment_increment • auto_increment_offset • character_set_client • character_set_connection • character_set_database • character_set_server • collation_connection • collation_database • collation_server • foreign_key_checks • identity • last_insert_id • lc_time_names • pseudo_thread_id • sql_auto_is_null • time_zone • timestamp • unique_checks 1054 Exception.   The following system variables, when used with session scope (only), do not cause the logging format to switch: For more information, see Section 17.5.1.1, “Replication and AUTO_INCREMENT” .