Update con Subselect en Mysql

Es posible que en algunas oportunidades necesitemos hacer una actualización a una tabla en donde la clave a utilizar en el where nos sea desconocida, y que sólo podamos obtenerla partiendo de una segunda clave en una segunda tabla.

El truco para esto es utilizar subconsultas.

Lo más probable es que al pensar en esto, escriban un ejemplo como el siguiente:

UPDATE
  tabla1
SET
  campo = 'nuevo_valor'
WHERE
  campo_de_referencia = (
    SELECT
      tabla1.valor
    FROM
      tabla1,
      tabla2
    WHERE
      tabla1.campo = 'viejo_valor'
      AND
      tabla1.clave_primaria = tabla2.clave_foranea
      AND
      tabla2.campo_de_referencia = 'otro_valor'
  )
;

Lamentablemente, esto no va a funcionar y van a obtener el siguiente error.

You can't specify target table 'tabla1' for update in FROM clause
Seguir leyendo «Update con Subselect en Mysql»

Revisión de Magento 1.4.0.0-alpha1

Como no podía ser de otra manera, tuve que instalar la última versión de Magento y empezar a buscar novedades (aún cuando el changelog poco decía).

Efectivamente, hay una serie de novedades, algunas superfluas y otras potencialmente interesantes. La mayoría son referentes a configuración general de la plataforma, salvo la primera.

Ordenes de osCommerce en Magento 1.4.0.0-alpha

Todavía no revise el código, por lo cual no puedo acotar demasiado, pero tenemos disponibles lo que parecería ser la visualización de ordenes de osCommerce.

Ahora si, una recorrida por las nuevas opciones de configuración.

Seguir leyendo «Revisión de Magento 1.4.0.0-alpha1»

Magento 1.4.0.0-alpha (el nuevo esquema)

Hace un par de días, se hacía un anuncio referido al nuevo esquema de versionado que se implementa desde hoy en Magento.

En líneas generales, ésta nueva forma de versionar la plataforma utilizará la siguiente nomenclatura: X.Y.Z.P-Estado.

Para que quede más claro, la nueva numeración significa:

  • X: Numero de versión Mayor. Los cambios mayores tienen que ver con cambios más bien transversales.
  • Y: Número de versión Menor. Pequeños cambios de funcionalidad y corrección de bugs.
  • Z: Número de revisión. Cambios aún menos significativos y corrección de bugs.
  • P: Parches. Se asocia directamente con bugs de seguridad y de alta criticidad.
  • Estado: Se utilizará desde ahora la leyenda alpha, beta, rc o nada en caso de ser una versión estable.
Seguir leyendo «Magento 1.4.0.0-alpha (el nuevo esquema)»