Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Eliminar con INNER JOIN

Estas en el tema de Eliminar con INNER JOIN en el foro de Mysql en Foros del Web. Ayuda por favor, ¿Qué esta mal de esta consulta? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original DELETE FROM semestres INNER JOIN materia_estudiante ON materia_estudiante.id_semestre = semestres.id_semestre ...
  #1 (permalink)  
Antiguo 05/07/2015, 20:50
Avatar de lisamolinad  
Fecha de Ingreso: mayo-2015
Mensajes: 13
Antigüedad: 8 años, 10 meses
Puntos: 0
Eliminar con INNER JOIN

Ayuda por favor, ¿Qué esta mal de esta consulta?
Código MySQL:
Ver original
  1. DELETE FROM semestres INNER JOIN materia_estudiante
  2. ON materia_estudiante.id_semestre=semestres.id_semestre
  3. WHERE materia_estudiante.cedula_identidad='$cedula_identidad'

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
Tengo la tabla "semestres" que solo posee el "id_semestre"; en la tabla "materia_estudiante", esta el "id_semestre" y el campo "cedula_identidad", necesito eliminar en base a la cedula de identidad.

Me da error en mi sintaxis

Última edición por gnzsoloyo; 06/07/2015 a las 05:49
  #2 (permalink)  
Antiguo 05/07/2015, 21:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Eliminar con INNER JOIN

Tu error no es de PHP, sino de MySQL, muevo tu tema a la sección adecuada.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/07/2015, 05:12
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Eliminar con INNER JOIN

No estoy muy claro en lo que necesitas, pero yo tengo tablas relacionadas y no he tenido que itilizar el inner join para borrar, lo uso para mostrar cieryos datos relacionados, si en tu tabla de materias ya tienes el id del semestre y la cedula no realices un inner join solo utiliza el delete sobre el registro que quieres borrar
Ejemplo ( DELETE * FROM materias WHERE id_semestre = xxx AND cedula = xxxx)
  #4 (permalink)  
Antiguo 06/07/2015, 05:18
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Eliminar con INNER JOIN

Ahora no entiendo tu relacion ya que quieres eliminar es en la tabla semestres por la cedula de la tabla materias, pero si lo haces creas una ambigüedad porque al eliminar el registro de la id automáticamente eliminas todos los registros de tu tabla materias, claro dependiendo de como tengas la relacion, asi que explica bien que registros son los que quieres eliminar
  #5 (permalink)  
Antiguo 06/07/2015, 05:56
Avatar de 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, 5 meses
Puntos: 2658
Respuesta: Eliminar con INNER JOIN

Probemos:
Código MySQL:
Ver original
  1. FROM semestres S INNER JOIN materia_estudiante ME ON S.id_semestre  = ME.id_semestre
  2. WHERE ME.cedula_identidad='$cedula_identidad'
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: php, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:19.