He intentado crear la tabla copiando completamente el bloque que has puesto, y no produce ningún error.
Es posible que tenga que ver con la versión del server (estoy usando el MySQL 5.0), y cuando la genera, si tomo la sentencia de creación queda así:
Código:
DROP TABLE IF EXISTS `test`.`address_book`;
CREATE TABLE `test`.`address_book` (
`address_book_id` int(11) NOT NULL auto_increment,
`customers_id` int(11) NOT NULL default '0',
`entry_gender` char(1) NOT NULL default '',
`entry_company` varchar(32) default NULL,
`entry_firstname` varchar(32) NOT NULL default '',
`entry_lastname` varchar(32) NOT NULL default '',
`entry_street_address` varchar(64) NOT NULL default '',
`entry_suburb` varchar(32) default NULL,
`entry_postcode` varchar(10) NOT NULL default '',
`entry_city` varchar(32) NOT NULL default '',
`entry_state` varchar(32) default NULL,
`entry_country_id` int(11) NOT NULL default '0',
`entry_zone_id` int(11) NOT NULL default '0',
PRIMARY KEY (`address_book_id`),
KEY `idx_address_book_customers_id` (`customers_id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
En este caso lo único que ha sucedido es que s e invirtieron las cláusulas DEFAULT CHARSET y AUTO_INCREMENT.