MySQL - Validar datos referenciados

 
Vista:

Validar datos referenciados

Publicado por Guillermo Fernandez (1 intervención) el 11/02/2021 01:47:28
Buenas Noches una breve consulta si me pudieran ayudar soy medio nuevo quisiera ver como podría validar o verificar si un registro que estoy intentando borrar esta referenciado en alguna otra tabla. por defecto la integridad de la base de datos no me permitirá eliminar pero quisiera obtener o consultar dicho datos a modo de poder emitir un mensaje entendible al usuario final. Desde ya 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

Validar datos referenciados

Publicado por anonymous (59 intervenciones) el 11/02/2021 02:04:45
Cualquier base de datos que tenga referenciada una clave foránea en alguna estructura, como mecanismo de protección nunca dejará borrar el registro padre de donde viene, te muestra error de integridad (integrity constraint).

Desde luego antes de que sea la propia BD quien levante el error, tú puedes efectivamente realizar una búsqueda, por el ID del registro a la tabla implicada, y verificar si ese registro existe, y antes de que apliquen un delete inapropiado, mostrar un mensaje advirtiendo de ello.

Ejemplo: Usuario y Préstamo, donde un usuario puede hacer n préstamos, de lógica no podría eliminar un usuario que tiene elementos prestados, porque quedarían dichos préstamos "huérfanos", habría que hacer una búsqueda parecida a esto:

Select * From Prestamo Where Usuario_ID = XX;

Donde XX es el Id del usuario que pretenden eliminar, si ese select devuelve algo, es porque el usuario tiene préstamos pendientes para devolución, y habría que mostrar un mensaje de advertencia, a quien pretende eliminarle. De la misma forma lo harías con cualquier otro registro para otras estructuras.
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