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

duda don consulta

Estas en el tema de duda don consulta en el foro de Bases de Datos General en Foros del Web. Hola a todos.. estoy trabajando en php y no se como realizar una consulta, lo que yo quiero hacer es una consulta que me elimine ...
  #1 (permalink)  
Antiguo 10/03/2011, 12:27
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
duda don consulta

Hola a todos.. estoy trabajando en php y no se como realizar una consulta, lo que yo quiero hacer es una consulta que me elimine registros de 2 tablas a la vez o mas tabla.. por ejemplo


$consulta = "DELETE id FROM tabla1,tabla2 WHERE id = 1"

osea borrar los id de la tabla que yo quiera..


saludos!!!
  #2 (permalink)  
Antiguo 10/03/2011, 12:36
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: duda don consulta

Manual de referencia: MySQL 5.0 Reference Manual :: 13 Sintaxis de sentencias SQL :: 13.2 Sentencias de manipulación de datos (Data Manipulation Statements) :: 13.2.1 Sintaxis de DELETE
Lee la explicación de borrado de más de una tabla con cuidado, lego pregunta cualquier duda...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/03/2011, 19:43
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: duda don consulta

hola!! estuve lñeyendo vi, sobre como hacer la consulta de la clase que yo necesito la hice asi:

$variabled = "DELETE id FROM encuesta,encuesta_resp WHERE encuesta.id = $valor AND encuesta_resp.id = $valor";


pero no funciona!!. :(

saludos
  #4 (permalink)  
Antiguo 10/03/2011, 20:01
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: duda don consulta

Código MySQL:
Ver original
  1. FROM encuesta E INNER JOIN encuesta_resp ER ON E.id = ER.id
  2. WHERE E.id = $valor
Yo personalmente no uso la coma para hacer los JOIN porque tienden a generar errores cuando dos campos de dominio distinto en ambas tablas tienen el mismo nombre.
En cualquier caso, en tu ejemplo se ve que el tema del JOIN no está completamente comprendido: Para relacionar dos tablas por medio de una FK no buscas que coincidan cada una con un valor dado, sino que coincidan los valores de los campos en ambas tablas. El valor buscado es el filtro del WHERE.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 10/03/2011, 20:11
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: duda don consulta

intente hacerlo como me dijiste pero tampoco, no hace nada :S
  #6 (permalink)  
Antiguo 10/03/2011, 20:15
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: duda don consulta

Verifica los datos. Si no devuelve un error, es que funciona, pero no hay datos que cumplan la relación.
Verifica también la variable.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 10/03/2011, 20:27
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: duda don consulta

verifique todo... y no hay caso no lo elimina :S

este error me aparece:

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 'E INNER JOIN encuesta_resp ER ON E.id = ER.id WHERE E.id = 1' at line 1

Última edición por juan_14nob; 11/03/2011 a las 05:52
  #8 (permalink)  
Antiguo 11/03/2011, 06:20
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 14 años
Puntos: 6
Respuesta: duda don consulta

Solucione el problema, era que te habias olvidado de colocar 2 parametros despues del DELETE

[SQL]
DELETE E,ER FROM encuesta E INNER JOIN encuesta_resp ER ON E.id = ER.id WHERE E.id = $valor
[/SQL]

Gracias por la ayuda :)

jaja no salio el codigo como esperaba, como se pone el codigo sql por aca?? saludos
  #9 (permalink)  
Antiguo 11/03/2011, 06:23
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: duda don consulta

Tienes razón, se me olvidó que eran dos alias...
Buena observación.
__________________
¿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: bases-de-datos
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 02:36.