MySQL - ELIMINAR LLAVE FORANEA

   
Vista:

ELIMINAR LLAVE FORANEA

Publicado por Frank (13 intervenciones) el 11/02/2010 20:49:05
COMO HAGO PARA ELIMINAR UNA LLAVE FORANEA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ELIMINAR LLAVE FORANEA

Publicado por Gonzalo (339 intervenciones) el 11/02/2010 22:14:12
De la misma forma de toda eliminacion: Con una sentencia DML sobre la tabla:

ALTER TABLE DROP FOREIGN KEY nombreconstraint;

Donde "nombreconstraint" es la denominación que tiene la constraint en la creción de la tabla.

RTFM!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR LLAVE FORANEA

Publicado por Frank (13 intervenciones) el 11/02/2010 23:23:47
HOLA

Bueno yo supuestamente borre las llaves foraneas, pero nose porque cuando le doy la instruccion describe nombretable; me aparece la descripcion de la table, y en ella me aparece dos llaves una es la primaria y la otra es la foranea.

En el campo key de la primaria aparece PRI ( que indica que es llave primaria), y en la foranea aparece MUL(que indica que es llave foranea), si se supone que yo elimine la llave foranea porque me sigue apareciendo en la descripcion de la tabla?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR LLAVE FORANEA

Publicado por Gonzalo (339 intervenciones) el 12/02/2010 00:39:09
Ejecuta un SHOW CREATE TABLE sobre esa tabla y fíjate si no están definidos esos campos como KEY. Si es así hay que eliminar esa condición.
En cualquier caso, te mostrará si hay FK definidas realmente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ELIMINAR LLAVE FORANEA

Publicado por Frank (13 intervenciones) el 12/02/2010 20:30:17
Hola

Bueno ya elimine el key, y ya no me muestra el MUL, pero cuando voy a agregar una llave foranea a esta table me sale error:

alter table nombretabla add foreign key(campo) references otratabla(campo);

Ya elimine la llave foranea y el key que me dijistes antes, pero ahora no me quiere dejar agregar la llave foranea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿QUé error? No lo dices

Publicado por Gonzalo (339 intervenciones) el 12/02/2010 22:28:09
Estás poniendo el código que ejecutas pero no el error que te da.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿QUé error? No lo dices

Publicado por Frank (13 intervenciones) el 12/02/2010 23:24:10
cuando ejecuto esa instruccion sale:

ERROR 1452 <23000> Cannot add or update a child row: a foreign key constraint fails
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error de tipo o de dato

Publicado por Gonzalo (339 intervenciones) el 13/02/2010 12:21:55
Revisa que la FK que estás definiendo sea entre campos EXACTAMENTE IGUALES.
Si es un VARCHAR, ambos tienen que tener la misma longitud y el mismo CHARSET.
Si en un numérico, ambos deben ser de la misma longitud (TINYINT, SMALLINT, MEDIUMINT, INT o BIGINT), y del mismo rango (SIGNED o UNSIGNED).
SI eso está todo OK, entonces verifica si hay algún valor del campo FK en su tabla que no se cumpla en la tabla referenciada.

Estos son los tres problemas comunes para ese error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FECHA VACIA

Publicado por Frank (13 intervenciones) el 13/02/2010 18:42:34
Hola

Bueno borre la base de datos y la volvi a crear para no tener mas problemas, hace tiempo me dijistes que para ingresar una fecha vacia podia ser omitiendo los campos en el momento de ingresar o colocando null, lo he intentado pero me sale error

Por ejemplo

Persona(Nombre, apellido, fecha) He declarado estos campos NULL

insert into Persona values ( 'Pepito' , ' castro' ); Me sale error

He intentado de esta otra forma

insert into Persona values ( 'Pepito' , 'castro' null ); me sale error, he intentado colocando el NULL en mayuscula y tampoco funciona

gracias por tu atencion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FECHA VACIA

Publicado por Frank (13 intervenciones) el 13/02/2010 18:50:01
Hola

disculpa ya la pude ingresar, si era colocando null en el momento de ingresar gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FECHA VACIA

Publicado por yhony (1 intervención) el 10/05/2013 06:27:07
ponle asi insert into Persona values ( 'Pepito' , ' castro' ,now())
donde now() de retorna la fecha que es de tipo date
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

FECHA VACIA

Publicado por jhoel (1 intervención) el 08/05/2014 19:23:26
intenta estas opciones
1.- insert into Persona(Nombre, apellido) values( ( 'Pepito' , ' castro' )
2.- insert into Persona values( ( 'Pepito' , ' castro',NULL )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

ELIMINAR LLAVE FORANEA

Publicado por xve (899 intervenciones) el 15/09/2015 08:59:00
La manera que yo utilizo es:
1
ALTER TABLE nombretabla DROP FOREIGN KEY nombre_clave_foranea;

Espero que sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ELIMINAR LLAVE FORANEA

Publicado por CrackDum (1 intervención) el 31/05/2016 20:29:39
bueno es demasiado tarde para la respuesta pero yo recién lo leí y supongo que mas adelante seguirán buscando...

El problema que tenia era que no tienes el nombre de la foránea para eliminar la conexión, luego recién eliminar el campo, lo que yo hice fue extraer la exportación del sql donde en manera de código muestran los nombres de las claves foráneas y con esa información podrás volver a tu base de datos y realizar lo que requieres eliminar la foránea.

MySql.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar