Estoy intentando crear una clave externa en dos columnas de una tabla para apuntar a la misma columna de otra tabla, pero parecen tener un error ...Adición de clave externa en varias columnas
Esto es lo yo:
CREATE TABLE test2 (
ID INT NOT NULL AUTO_INCREMENT,
col1 INT NOT NULL,
col2 INT NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT fk FOREIGN KEY (col1, col2)
REFERENCES test1(ID, ID)
ON UPDATE CASCADE
ON DELETE RESTRICT
) ENGINE=InnoDB;
pero me da
ERROR 1005 (HY000): Can't create table 'DB.test2' (errno: 150)
Si sólo tengo una columna, sin embargo, la tabla se crea correctamente.
¿Podría alguien indicarme dónde está el error?
Gracias n
¿Qué es DDL of test1? – Chandu
@Cybernate: lo siento, se olvidó de especificar, ID es la clave principal de test1, con el mismo tipo que col1 y col2 (INT). Hay muchas otras columnas (pero eso no debería importar) Y no se establecen otras restricciones o índices. – nico
¿Ha intentado esto sin especificar actualizaciones o eliminaciones en cascada? – Thomas