The Most Important SQL Modes
The most important sql_mode values are probably these:
This mode changes syntax and behavior to conform more closely to standard SQL. It is one of the special combination modes listed at the end of this section.
If a value could not be inserted as given into a transactional table, abort the statement. For a nontransactional table, abort the statement if the value occurs in a single-row statement or the first row of a multiple-row statement. More details are given later in this section.
As of MySQL 5.7.5, the default SQL mode includes STRICT_TRANS_TABLES.
Make MySQL behave like a “traditional” SQL database system. A simple description of this mode is “give an error instead of a warning” when inserting an incorrect value into a column. It is one of the special combination modes listed at the end of this section.
The problem I was facing was that sometimes on insert you might want to leave fields off, or blank / empty. With their lockdown I could set varchar to default '' but it wouldn't allow text to have a default set this way, no idea why the hell you'd let a varchar default to '' but not a text field ... very strange plus to default all databases to strict? Like I say never encountered it as 'standard'.