Ver Mensaje Individual
  #12 (permalink)  
Antiguo 08/12/2014, 12:13
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: 17 años, 4 meses
Puntos: 2658
Respuesta: Borrar un registro con JOIN

Puede ser porque estoy haciendolo un poco a ciegas. Yo no estoy trabajando en tu PC, por lo que puede haber errores de datos que no veo.
Como sea, el problema que tienes para ejecutar las queries es que no has definido la FK de modo que se borre en cascada, lo que genera ese problema para un borrado masivo o en orden incorrecto.
En ptincipio, haciendo dos queries debería funcionar:
Query 1:
Código MySQL:
Ver original
  1. DELETE autos
  2. WHERE matricula='AMD486';
Query 2:
Código MySQL:
Ver original
  1. DELETE FROM vehiculo
  2. WHERE matricula='AMD486';

De lo contrario hay que modificar la FK en la tabla para hacer que se pueda en una sola, para eso primero hay que borrar la FK que existe y luego crearla de nuevo, con las clausulas que faltan:
Código MySQL:
Ver original
  1. ALTER TABLE `autos`DROP FOREIGN KEY`autos_ibfk_1`;
Código MySQL:
Ver original
  1. ALTER TABLE autos ADD FOREIGN KEY (`matricula`) REFERENCES `vehiculo` (`matricula`)

Una vez hecho eso, deberías poder borrar la tabla padre sin peligro, y la hija se borraría en cascada.
Código MySQL:
Ver original
  1. DELETE FROM vehiculo
  2. WHERE matricula='AMD486';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)