La perla del dia, SQL fail

Programar más tarde de las 3 de la madrugada es una mala idea, lo digo por experiencia a veces sea por copy paste u otras por un descuido del ojo humano se pueden soltar perlas como esta:

DELETE FROM TEMAS WHERE TID=2 ORDER BY TID DESC

¿Por qué es una tontería esta query?

Aunque la query no falla, si se va a eliminar por las buenas o por las malas el registro con el campo tid igual 2, que más da si se va ha ordenar descendentemente por tid.

Paja mental:

Si publicara posts de las cosas que no se tienen que hacer y las hago, seguramente tendría 1000 posts (humildemente) jeje

SQL      28 Julio, 2008      1045 lecturas      1 comentarios

  1. Alex Barros

    Yo cosas tan bizarras no suelo hacer. Lo que más me equivoco en SQL es creando campos dinámicos, y usándolos donde como no devo. Ejemplos:


    SELECT *,(COUNT(*) FROM otra_tabla WHERE pito = mi_tabla.sereno ) AS fofito FROM mi_tabla ORDER BY fofito + campoMaligno DESC


    En la anterior sentencia, no se puede ordenar por la suma de un campo dinámico y otro de la tabla… te dará error.


    #1054 – Unknown column ‘fofito’ in ‘order clause’


    La solución es hacer la suma en la propia asignación:


    SELECT *,((COUNT(*) FROM otra_tabla WHERE pito = mi_tabla.sereno ) + mi_tabla.campoMaligno) AS fofito FROM mi_tabla ORDER BY fofito DESC


    Ea, esto lo cubre el anterior pin (y también el seguro dental)









Additional comments powered by BackType