2011-02-18 13 views
5
DELETE FROM programSchedule 
LEFT JOIN program ON programSchedule.pid = program.id 
WHERE program.channel_id = 10 

consigo este error:de consulta de error: eliminar y LEFT JOIN

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN program ON programSchedule.pid = program.id' at line 1

¿Por qué?

Respuesta

8

Debe especificar qué tabla eliminar.

DELETE programSchedule.* 
FROM programSchedule LEFT JOIN program ON programSchedule.pid = program.id 
WHERE program.channel_id = 10 

Nota: Cambie la unión a un INNER JOIN ya que está filtrando por program.channel_id

DELETE programSchedule.* 
FROM programSchedule INNER JOIN program ON programSchedule.pid = program.id 
WHERE program.channel_id = 10 
+0

Nota: Si desea eliminar de ambos ** ** tablas, puede hacerlo creando primero una tabla temporal. Por favor, publique sus definiciones de tabla. –

2

Debido a que dos tablas están involucrados, lo que necesita decir qué tabla desea eliminar de. Así que con el fin de eliminar las filas de la tabla programSchedule, usted puede hacer esto:

DELETE programSchedule.* 
FROM programSchedule 
LEFT JOIN program ON programSchedule.pid = program.id 
WHERE program.channel_id = 10