MySQL - Como crear clave foranea en mysql

 
Vista:
Imágen de perfil de Claudio

Como crear clave foranea en mysql

Publicado por Claudio (19 intervenciones) el 01/10/2015 16:20:23
Hola que tal.

Me pueden ayudar por favor con lo siguiente.

Tengo una tabla Clientes y otra ventas, quiero que cuando vayan a borrar un cliente advierta que tiene registros en la tabla ventas y no se pueda borrar o que borre los registros relacionados en la tabla ventas.

He tratado de hacerlo con phpmyadmin, pero no se como hacerlo, ya que despues no me deja ingresar mas de un registro en ventas.

Tabla cliente :
id int() autoincrement
rut varchar(12) por este campo debiera relacionarse
nombre varchar(45)

tabla ventas :
id int() autoincrenebt
nro_docto (varchar(8)
rut_cliente varchar(12)

a un cliente se le pueden hacer varias ventas.

Cualquier ayuda será bienvenida.
De antemano muchas gracias.
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
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Como crear clave foranea en mysql

Publicado por leonardo_josue (414 intervenciones) el 08/10/2015 19:55:26
Hola Claudio:

Checa la documentación oficial de MySQL:

https://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html

Ahí viene la sintaxis y ejemplos de cómo se crean las FK. Si tienes dudas, preguntale a SAN GOOGLE, él generalmente tiene la respuesta de todo.

Checa el orden en cómo estás generando la llave foránea, el error que comentas, de que no te deja tener más de un registro en ventas puede ser porque la llave foránea la estés asignando al cliente, no a las ventas. Postea exactamente el error que te aparece para poder decirte en dónde está el problema

Saludos
Leo.
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 Claudio

Como crear clave foranea en mysql

Publicado por Claudio (19 intervenciones) el 09/10/2015 20:03:53
Gracias por la respuesta, voy a revisar el link,
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
sin imagen de perfil

Como crear clave foranea en mysql

Publicado por rami (5 intervenciones) el 19/12/2015 20:11:57
tienes que usar la propiedad on update cascade on delete cascade
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