Prevent NULL value on NOT NULL column when value is an empty string

This bug is specific to data types that are not considered binary, boolean or string/text. For example, an ENUM (MySQL) which has '' (empty string) as one of the possible values and the column is set to NOT NULL will generate a db error when inserting or updating a row with an empty string as value (as it was naively converting it to a NULL instead.)
The order should be ($expected, $result).