21/06/2011, 13:19
|
| | Fecha de Ingreso: febrero-2008 Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 10 meses Puntos: 1 | |
¿Qué hago mal para crear foreign key? Hola a todos, ¿alguien me puede ayudar diciéndome que hago mal para crear una foreign key?
Estas son las tablas:
Código:
CREATE TABLE `Economia`.`cuentas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`banco` varchar(4) NOT NULL,
`sucursal` varchar(4) NOT NULL,
`control` varchar(2) NOT NULL,
`cuenta` varchar(10) NOT NULL,
`descripcion` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
CREATE TABLE `Economia`.`movimientos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_cuenta` int(11) NOT NULL,
`fecha` date NOT NULL,
`fecha_valor` date NOT NULL,
`descripcion` varchar(100) NOT NULL,
`importe` double NOT NULL,
`divisa` varchar(10) NOT NULL,
`saldo` double NOT NULL,
`divisa2` varchar(500) NOT NULL,
`oficina` varchar(10) DEFAULT NULL,
`concepto1` varchar(500) DEFAULT NULL,
`concepto2` varchar(500) DEFAULT NULL,
`concepto3` varchar(500) DEFAULT NULL,
`concepto4` varchar(500) DEFAULT NULL,
`concepto5` varchar(500) DEFAULT NULL,
`concepto6` varchar(500) DEFAULT NULL,
`nota` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
y de esta forma intento crear la foreign key:
Código:
ALTER TABLE `Economia`.`movimientos`
ADD CONSTRAINT `fk_id_cuenta`
FOREIGN KEY `movimientos` (`id_cuenta`)
REFERENCES `cuentas` (`id`)
ON DELETE RESTRICT
ON UPDATE CASCADE;
Este es el error que me da:
Código:
Can´t create Economia.#sql-cdb_31'(errno: 150)
Seguro que est una tontería pero por más que miro no lo veo, muchas gracias, un saludo! |