Dudas con mysql, eliminar datos guardados y detectar operaciones en una tabla

Hola.
Tengo un pequeño problema, que en SQL Server lo supe solucionar pero en MySQL no se como hacerlo.
Lo voy a tratar con un ejemplo para que sea más claro.
Tengo una tabla ciudad, que tiene dos campos, el código y ls descripción.
Tengo otra tabla (proveedor) donde guardo el código de la ciudad seleccionada en un combo (que se carga de la tabla ciudad)...
El problema que tengo es que (a diferencia de SQL Server) puedo eliminar sin problemas desde la base de datos una ciudad que haya sido guardada en la tabla proveedor.
Y peor aun, cuando cargo el registro proveedor, mi sistema se cae porque no puede cargar el combo con el código que tenia guardado porque ya no existe.
En SQL Server, al tratar de eliminar una ciudad desde la base de datos, me tiraba el error -2147217900 con el cual yo detectaba una operación ilícita.
¿Cómo puedo detectar esa operación en este caso que utilizo MYSQL?
Gracias!

1 Respuesta

Respuesta
1
Según lo que yo tengo entendido desde la version 4.0 en adelante ... no estoy seguro si la version 5.0 ya esta disponible, ya que hasta hace poco era tan solo un Beta.
Respecto al error que te envía cuando se viola una relación foránea el error (como ya te imaginarás es distinto, pero puedes capturarlo desde el lenguaje en el cual estas programando.
Para establecer este tipo de relación solo tienes que relacionar una tabla con otra y decir que esta relación va a ser foránea.
Saludos y espero que te ayude de algo mi ayuda.
Recuerda Valorar y Finalizar tus preguntas cuando te encuentres satisfecho con las respuestas
Primero que nada esto va a depender de la version que tengas de MYSQL.
MYSQL en casi todas sus versiones no tiene Integridad Referencial, por lo tanto no podrás lograr este efecto de forma automática, la solución es que antes de eliminar este registro verifiques que no esta en el resto de las tablas que dependen de ella.
Por otra parte la ultima version de MYSQL posee integridad referencial y se hace de la misma forma que en SQL Server.
Saludos y espero que mi ayuda te sirva de algo...
Recuerda Valorar y Finalizar tus preguntas cuando te encuentres satisfecho con las respuestas.
Bye.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas