Есть ли способ с помощью оператора SQL гарантировать, что значением по умолчанию для столбца будет пустая строка '' вместо NULL?
''
NULL
Да - используйте ограничение DEFAULT:
DROP TABLE IF EXISTS `example`.`test`; CREATE TABLE `example`.`test` ( `string_test` varchar(45) NOT NULL DEFAULT '' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;