| ||||
Respuesta: Como crear las relaciones Las tablas de tipo MyISAM no tienen FOREIGN KEY. Sólo las InnoDB pueden usar esetipo de constraint.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Como crear las relaciones Vamos a ver si se entiende claramente: 1) Las relaciones de FK son parte de la estructura de las tablas y de las bases de datos, lo que quiere decir que deben ser creadas junto con las tablas. 2) UPDATE no genera relaciones de FK (es una sentencia de tipo DML), en todo caso lo hace el ALTER TABLE (que es una sentencia e clase DDL). Por ello es inútil cualquier tipo de intento con un UPDATE. 3) Si las tablas ya existen, el único modo de agregarles las FK es primero convertirlas de tablas MyISAM a tablas InnoDB por medio de un ALTER TABLE, el cual deberá ejecutarse tabla por tabla. 4) Si las tablas ya existen, y especialmente si ya tienen datos, es altamente probable que se produzcan errores por violaciones a la integridad referencial, que no se administró por la falta de las FK. Eso obligaría a realizar primero una depuración de datos, que tendrás que hacer con paciencia, y para la cual no existe ninguna metodología específica. El método adecuado depende de los datos que se tienen. En otras palabras, es algo que deberías haber considerado desde el inicio, y usar InnoDB. Ahora, con la base creada, la tarea que tienes que hacer es bastante grande.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Como crear las relaciones Ok gracias, es que hace tiempo recuerdo que cambie el motor de las tablas con una funcion que creo es la que me dijiste Alter table, que creo seria mas o menos asi ALTER TABLE nombretabla ENGINE=InnoBD; las tablas aun no contienen informacion, solo estan creadas asi que creo no me traera problemas, gracias |
Etiquetas: |