1) Small project started, MySQL is used because that's all the developer knows
or it's convenient
2) Strict mode is never turned on; developer has no idea it exists
3) App gets popular
4) Too late to enable Strict
It's really the main reason why I don't recommend MySQL. Theres so many mistakes waiting to be made.MySQL has been my hair-tearing problem for many years - https://reddragdiva.dreamwidth.org/593924.html - and I had no idea it existed.
There's a secret "don't suck as much" switch? TURN IT ON!!
Why MySQL Is Not My Favourite Database: https://reddragdiva.dreamwidth.org/593924.html
Here's the slide deck: https://speakerdeck.com/mathiasbynens/hacking-with-unicode
Interesting anecdote from the talk: This isn't just unique to Wordpress. Spotify was vulnerable to this at one point.