[Kde-devel-es] consulta a MySql
Guillem Barba
wallas85 at menta.net
Sat Nov 6 14:34:55 CET 2004
Hola,
tengo un problema y no sé como solucionarlo. Es de MySql.
Mi programa usa una base de datos que tiene (entre otras) tres tablas llamadas
(y que contienen información sobre): clientes, obras y tareas, que están
relacionadas (una obra _es de_ un cliente, y una tarea _es de_ una obra).
Cuando el usuario quiere eliminar un cliente si eliminan también sus obras y
sus tareas (o tareas de sus obras). Para hacerlo uso la siguiente consulta
SQL
DELETE clientes, obras, tareas FROM clientes, obras, tareas WHERE
tareas.idobra = obras.id AND obras.idcliente = clientes.id AND
clientes.id= :id
que me funciona de maravilla si hay, como mínimo, una otra y una tarea de
dicho cliente, pero a la que no hay algo de esto, no funciona. He probado
sustituyendo los AND por OR (todos, o sólo uno...) pero entonces me elimina
TODO lo de aquella tabla. Cómo lo puedo hacer para que funcione?
El servidor MySql que uso es "mysql Ver 12.22 Distrib 4.0.21, for
pc-linux-gnu (i386)" bajo Debian Sarge, y para hacer las consultas uso un
objeto QSqlQuery de las Qt 3.3
No me interesa poner la versión 4.1 que soporta subconsultas pues el programa
es para una empresa (pequeña) y prefiero no ponerle nada de unstable.
a ver si a alguien se le ocurre como hacerlo.
No pongo el código SQL que uso para crear las tablas pq creo que no hace
falta, pero si sí, me lo decís y lo envío. Los IDs de cada tablas són
UNSIGNED INTEGER y a las tablas que se relacionan les pongo:
FOREIGN KEY (idcliente) REFERENCES clientes
saludos!!
guillemBarba
More information about the Kde-devel-es
mailing list