The default value of '0' is invalid. It should be NULL.
In the original UI for location_type_id (patched but unreleased for 4.6),
the default behavior was to set the value to NULL, so it seems implicit that
NULL is an acceptable value.
-{* file to handle db changes in 4.6.alpha7 during upgrade *}
\ No newline at end of file
+{* file to handle db changes in 4.6.alpha7 during upgrade *}
+
+-- location_type_id should have default NULL, not invalid id 0
+ALTER TABLE civicrm_mailing CHANGE `location_type_id` `location_type_id` int(10) unsigned DEFAULT NULL COMMENT 'With email_selection_method, determines which email address to use';
<name>location_type_id</name>
<title>Location Type</title>
<type>int unsigned</type>
- <default>0</default>
<comment>With email_selection_method, determines which email address to use</comment>
<pseudoconstant>
<table>civicrm_location_type</table>