Tengo un problema al crear mi base de datos que eh modelado de la siguiente manera:

pasa que cuando lo traspaso a codigo SQL al momento de correrlo en mi Mysql front me tira un error en la creacion de la tabla comentarios.
Me explico este pequeño sistema es de unos agentes de corredores.
En la tabla agentes detallo un poc de su perfil..
En la tabla Empresa la empresa de corredor a la cual esta afiliada
en la tabla Ciudad la ciudad o departamento en el cual trabaja
en la tabla comentarios, los comentarios que recibe..
mi codigo de la base de datos es este:
Código MySQL :
CREATE SCHEMA IF NOT EXISTS `agentes` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ; USE `agentes`; -- ----------------------------------------------------- -- Table `agentes`.`ciudad` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `agentes`.`ciudad` ( `id_ciudad` INT NOT NULL AUTO_INCREMENT , `nom_ciudad` VARCHAR(45) NOT NULL , PRIMARY KEY (`id_ciudad`) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `agentes`.`agente` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `agentes`.`agente` ( `id_agente` INT NOT NULL AUTO_INCREMENT , `id_ciudad` INT NOT NULL , `nom_agente` VARCHAR(45) NOT NULL , `dni_agente` INT(8) NOT NULL , `direc_agente` VARCHAR(60) NOT NULL , `telf_fijo` INT(7) NOT NULL , `telf_cel` INT(9) NOT NULL , `ciu_agente` VARCHAR(30) NOT NULL , `ruc_agente` INT(11) NOT NULL , `foto_agente` VARCHAR(45) NOT NULL , `cargo_agente` VARCHAR(45) NULL , `estado_licencia` INT(1) NOT NULL DEFAULT 0 , PRIMARY KEY (`id_agente`, `id_ciudad`) , INDEX `id_ciudad` (`id_ciudad` ASC) , CONSTRAINT `id_ciudad` FOREIGN KEY (`id_ciudad` ) REFERENCES `agentes`.`ciudad` (`id_ciudad` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `agentes`.`empresa` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `agentes`.`empresa` ( `id_empresa` INT NOT NULL AUTO_INCREMENT , `id_agente` INT NOT NULL , `nom_emp` VARCHAR(45) NOT NULL , `direc_emp` VARCHAR(60) NOT NULL , `telf_emp` VARCHAR(9) NOT NULL , `web_url` VARCHAR(50) NULL , `correo_emp` VARCHAR(60) NOT NULL , `nro_ruc` VARCHAR(11) NOT NULL , PRIMARY KEY (`id_empresa`, `id_agente`) , INDEX `id_agente` (`id_agente` ASC) , CONSTRAINT `id_agente` FOREIGN KEY (`id_agente` ) REFERENCES `agentes`.`agente` (`id_agente` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `agentes`.`comentarios` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `agentes`.`comentarios` ( `id_comentarios` INT NOT NULL AUTO_INCREMENT , `id_agente` INT NOT NULL , `desc_comentario` VARCHAR(600) NOT NULL , `estado` INT(1) NOT NULL DEFAULT 0 , PRIMARY KEY (`id_comentarios`, `id_agente`) , INDEX `id_agente` (`id_agente` ASC) , CONSTRAINT `id_agente` FOREIGN KEY (`id_agente` ) REFERENCES `agentes`.`agente` (`id_agente` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
Alguien que me pueda guiar con esta creacion de tablas.. para empezarlo a programar.?
