•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 . 

For more information, see Section 17.5.1.1, “Replication and AUTO_INCREMENT” . 

•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) 

Exception.  The following system variables, when used with session scope (only), do not cause the logging format to switch: 

• 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 

