MySQL concat NULL

Este post es algo lógico que observé y que simplemente lo comparto.

Si se permite que los campos apellidos sean nulos. Al hacer una query así, si alguno de los dos es null.

select concat(u.surname,’ ‘,u.lastname) as surname_lastname from users u ;

El resultado es NULL

Tendremos que modificar nuestra query para que introduzca una cadena vacía en caso que sea nulo.

select concat(ifnull(u.surname,”),’ ‘,ifnull(u.lastname,”)) as surname_lastname, u.*  from users u 

 

Anuncios

Cómo instalar Cocos2D

Me complace incorporar esta nueva sección donde pienso hablar de cocos2D para personas que se estén iniciando o se quieran animar a programar con Cocos2D para IOS.

La herramienta XCode.

Cocos2d  es un framework que ayuda a la programación de juegos en 2d.

Vamos a instalarlo!

Descargamos desde la web:

http://www.cocos2d-iphone.org/download

Para la fecha que se escribe este post utilizo la versión Downloadcocos2d-iphone-2.0.tar.gz

Descomprimimos el fichero y lo movemos a una carpeta mejor que la de descargas.

Ahora instalamos las plantillas

Accedemos con el terminal al directorio “cocos2d-iphone-2.0” que acabamos de descomprimir. Ejecutamos

./install-templates.sh -f -u


Iniciamos XCode

Tendremos ya la opción de incorporar las plantillas con Cocos2D.

Cocos2d template

Al indicar la primera plantilla si ejecutamos… ya tendremos nuestro primer HelloWorld implementado.

Captura de pantalla 2013-01-28 a la(s) 20.46.05

Precioso 🙂

Error duplicate entry MySQL

Situación: Quiero añadir un índice UNIQUE para dos índices de una tabla que no está vacía.

Error: Error duplicate entry ‘1-10’. Informa que ya existe una clave duplicada.

Solución: Hay que borrar una de las tuplas duplicadas para que nos deje añadir la restricción UNIQUE:

Secuencia de modificación de la tabla

ALTER TABLE `protocolo_alarma`
ADD UNIQUE INDEX `alarma_generada_id_tipo_id` (`tipo_id`, `alarma_generada_id`);
/* SQL Error (1062): Duplicate entry '1-10' for key 'alarma_generada_id_tipo_id' */


Estas añadiendo un UNIQUE y tienes ya tuplas duplicadas. Borramos una de ellas. 

DELETE FROM `protocolo_alarma` WHERE  `protocolo_alarma_id`=16 LIMIT 1;

Ya podemos modificar la tabla.

ALTER TABLE `protocolo_alarma`
ADD UNIQUE INDEX `alarma_generada_id_tipo_id` (`tipo_id`, `alarma_generada_id`);
/* 0 rows affected, 0 rows found. Duration for 1 query: 0,202 sec. */

Saludos!