Concepts·MySQL
MySQL SQL Mode and Strict Behaviour
`sql_mode` decides whether bad data is an error or a silent correction. Relaxing it turns the out-of-range failure from the constraints guide into a row that stores 99999999.99 and says nothing.
Configuration Guide 15 of 45 Intermediate
- OSUbuntu 26.04 LTS (resolute)
- MySQL8.4.10-0ubuntu0.26.04.1
- EngineInnoDB (default)
- TimeAbout 15 min
- Reviewed27 August 2026
Written against the versions above. Strict mode has been the default since 5.7. Servers upgraded from 5.6 often carry a relaxed `sql_mode` forward in their config, which is where most surprises of this kind come from.
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| db-a01 | 192.168.0.81 | Ubuntu 26.04 LTS | Primary / Source / Replica Set Member 1 | 2 Core | 4 GB | 50 GB |
Before you start
- The
customerstable from the schema-data track.
-
Read the modes this server enforces
-
Turn strict mode off and repeat a statement that failed
-
Confirm the bad row is really there