Pregunta

Cuando ejecuto la consulta a continuación se emite un error,

alter table `ttis`.`users` 
add constraint `FK_Role_ID` FOREIGN KEY (`ROLE_ID`) REFERENCES `roles` (`ROLE_ID`)

Error:

Error Code : 1005
Can't create table 'ttis.#sql-9c_8a' (errno: 150)
¿Fue útil?

Solución

Tener un vistazo a este post: 13.6.4.4. Las restricciones FOREIGN KEY y la búsqueda de "150". Aquí dice:

  

Si vuelve a crear una mesa que estaba   caído, debe tener una definición   que se ajusta a la clave externa   restricciones referencia a ella. Debería   tienen los nombres de columna y tipos derecha,   y debe tener los índices de la   teclas de referencia, como se dijo anteriormente. Si   estos no son satisfechas, los rendimientos de MySQL   número de error 1005 y se refiere al error   150 en el mensaje de error.

     

Si MySQL reporta un número de error 1005   de una sentencia CREATE TABLE, y el   mensaje de error se refiere al error 150,   creación de la tabla falló debido a una   restricción de clave externa no era   correctamente formada. Del mismo modo, si una   ALTER TABLE falla y se refiere a   error 150, que significa una clave externa   definición estaría formado incorrectamente   para la tabla alterada. Puedes usar   Mostrar estado INNODB para mostrar una   explicación detallada de los más   InnoDB reciente error de clave externa de la   servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top