La Función de este Blog

Todos tenemos una razón de existir, y la razón de este blog no es la de duplicar información de otras webs, sino la de servirte de guía hacia ella.

Aquí podrás encontrar todas las utilidades y funciones que vaya necesitando y encontrando para mis proyectos webs.

Espero que os sea de ayuda.

Saludos

miércoles, 29 de agosto de 2012

Eliminar restricciones (constraints) FOREIGN KEY en MySQL

Buenas,

para eliminar un restricción Constraints de una tabla de MySQL debemos saber antes de nada el nombre de dicho indice, para ello ejecutamos la sentencia:

>>>show create table  mitabla
 
esto nos mostrara la sentencia que se debe de ejecutar para obtener una tabla con identica estructura.

Ahora que ya tenemos el nombre del solo debemos de ejecutar la sentencia para borrarlo

>>>alter table mitabla drop foreign key nombre_indice_32d640


y listo.

Saludos



13 comentarios:

  1. Hola muhas gracias la vdd ami me funciono tal como esta tu explicacion corta y entendible gracias te devo una amigo

    ResponderEliminar
  2. Eliminar foreign key

    mysql> show create table grupos;

    | grupos | CREATE TABLE `grupos` (
    `id_grupo` int(11) NOT NULL AUTO_INCREMENT,
    `nombreg` varchar(30) NOT NULL,
    `categoria` text NOT NULL,
    `id_pagos` varchar(15) NOT NULL,
    `edad` int(11) NOT NULL,
    `edad1` int(11) NOT NULL,
    `id_instructores` int(11) NOT NULL,
    `dias` text NOT NULL,
    `horas` text NOT NULL,
    `estado` varchar(15) NOT NULL,
    PRIMARY KEY (`id_grupo`),
    KEY `id_pagos` (`id_pagos`),
    KEY `id_instructores` (`id_instructores`),
    CONSTRAINT `grupos_ibfk_1` FOREIGN KEY (`id_pagos`) REFERENCES `pagos` (`id_pa
    gos`),
    CONSTRAINT `grupos_ibfk_2` FOREIGN KEY (`id_instructores`) REFERENCES `instruc
    tores` (`id_instructores`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 |

    mysql> alter table grupos drop foreign key grupos_ibfk_1
    -> ;
    Query OK, 4 rows affected (0.67 sec)
    Records: 4 Duplicates: 0 Warnings: 0

    ResponderEliminar
  3. Muy buen aporte con el ejemplo practico...

    ResponderEliminar
  4. Y para borrar una restriccion de pk como?

    ResponderEliminar
  5. yo la he borrado, luego vuelvo a mirar la table y sigue estando, no lo entiendo.

    ResponderEliminar
    Respuestas
    1. Debes mirarlo luego de actualiza en motor de bases d edatos

      Eliminar
    2. como se actualiza el motor de bases de datos

      Eliminar
  6. Y como se pueden eliminar varias llaves foreanas en una misma sentencia, como lo hace Oracle, con esta sentencia DROP TABLE Mi_tabla CASCADE CONSTRAINTS; o cual seria su equivalente en MySql.

    ResponderEliminar
  7. no sireve para nada no lo elimina la llave foranea

    ResponderEliminar
  8. ALTER TABLE `base_datos`.`nombre_tabla` DROP INDEX `nombre_indice_foreignkey`

    ejemplo:

    ALTER TABLE `boproyect`.`prestamos` DROP INDEX `fkk_clt_id`

    ResponderEliminar