Ver Mensaje Individual
  #8 (permalink)  
Antiguo 17/09/2008, 13:41
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como meter mas de una llave foranea en una tabla

El motor de base de datos se encarga de hacer que funcione. Uno, como programador, es responsable de saber en qué secuencia tienen que entrar los datos, es decir, qué tabla cargar primero. En eso consiste la cosa.

De todos modos, hay un control específico que se puede hacer a nivel de aplicación y que consiste en capturar el número de error que se produce:

Cada sentencia que envías a una conexión de una base de datos devuelve por la misma conexión un número, o un mensaje. Por ejemplo, un simple "SELECT..." si funciona bien, devuelve un número que es la cantidad de registros afectados (al menos en .Net), o negativo si falló, caso en el cual puedes rescatar el mensaje o el código de error.

Si estás programando en .Net esto se maneja usando el conector .Net de MySQL, de modo de administrar vía el Try... Catch ... As MySqlException ... End Try, la exceptción que indica un problema en la base.
De esta forma puedes saber qué pasó e indicarle al usuario qué debe hacer.

Si estás programando en PHP, será mejor que preguntes en el foro de PHP, pero el PHP también cuenta con funciones que capturan el mensaje de error y su código.

Por experiencia propia, es mucho más sencillo si programas la aplicación para que no deje a los usuarios ingresar datos para almacenar en tablas secundarias sin que primero existan los datos necesarios en las tablas primarias... Te ahorrará muchos dolores de cabeza.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)