I just found out about MySQL “SQL modes”. This allows you to now turn off some of the features that make MySQL so easy to use.
Why would you do that? For the same reason that in Perl, you should
use strict, and in PHP, turn off all global variables and GPC variables and turn on all warnings.
In other words, you should lock down your MySQL to not allow any sloppy work. This will train you to write correct code in the future.
What I will be doing is to lock down my home machine to the strictest possible setting, then work on getting my company‘s CMS working with it. Once that’s done, I’ll gradually lock down our development server (can’t just do it immediately, as there are always at least 15 sites in constant development, not all of which I’ve fixed up yet).
What I will /not/ be doing is locking down our production server, for at least a few years! With hundreds of sites of different CMS design, it is not predictable what will work smoothly and what will explode.