Registro en uso

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!
3

3 Respuestas

1.065.925 pts. Soy una persona multifacética, tanto manejo la...
No estoy bien seguro de como maneja las reglas de integridad de bases de datos MySQL, pero si no es por este medio, que si lo maneja SQL SERVER y otros, tendrás que implementar las validaciones a mano.
Pues, sí, cada una de las tablas que tengan referencias de integridad, pero solamente revisas con las claves que están eliminando.
Quizás te interese este link
http://www.programacion.net/bbdd/tutorial/mysql_referencial/
Ahi encontre la solucion...
36.275 pts. Llevo casi 4 años programando aplicacioens web usando...
Haber vamos por partes. Esas dos tablas en SQL Server las tienes relacionadas por lo que la llave primaria en una es llave foránea en la otra, ¿no? Es por eso que debe devolver el error. MySQL 5.x permite crear relaciones entre campos de las tablas de BDatos, lo que facilitaría el uso de lo mismo. La otra solución que le veo es hacerlo a nivel de código.
2.100 pts. WebMaster, diseñador y programador vb ,javascript,...
<%=Texto%>
No es muy clara su pregunta, primero me gustaría saber sobre que esta programando y ser más claro con el problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas