En el siguiente artículo comentaré cómo pasar la representación de una fecha en timestamp de unix a formato de tipo ‘YYYY-MM-DD HH:MM:SS’ mucho más legible y con el que podremos realizar consultas mas específicas. En base de datos se suele guardar las fechas en formato timestamp pues contienen algo más de información que si por defecto formateamos y guardamos la fecha en formato ‘YYYY-MM-DD HH:MM:SS’ o ‘YYYY-MM-DD’. Para obtener el timestamp de una fecha en PHP usaremos la función time(), con la que obtendremos el timestamp de la fecha del momento en que se ejecuta. La función de MySQL que realiza la conversión de timestamp a fecha es: FROM_UNIXTIME(unix_timestamp) en la que sólo se la pasa el timestamp y el formato que devuelve es el de por defecto: ‘YYYY-MM-DD HH:MM:SS’. También se le puede especificar un formato para deveolver tan sólo lo que queramos FROM_UNIXTIME(unix_timestamp,format). Veamos algunos ejemplos: Queremos tan sólo el año Resultado: fecha 2012 Queremos el siguiente formato: mes. día.año Resultado: fecha 07.06.2012 07.11.2012 Si esto mismo lo queremos poner en formato español con el mes en medio, tan sólo cambiaremos el especificador del mes(%m) de posición Resultado: fecha 06.07.2012 11.07.2012 También podemos indicar un formato de fecha [...]
Una tabla que me estaba dando este error: Found row where the auto_increment column has the value 0. Ha simple vista esta claro. Un campo que es autoincrementable que tiene el valor 0. Explico como lo he arreglado, es muy sencillo. Al hacer un check de la tabla en cuestión es como se descubre este warning. Table Op Msg_type Msg_text ——————— —— ——– ——————————————————— BBDD.MI_TABLA check warning Found row where the auto_increment column has the value 0 BBDD.MI_TABLA check status OK Intento reparar la tabla con REPAIR Table Op Msg_type Msg_text ——————— —— ——– ——– BBDD.MI_TABLA repair status OK Vuelvo a chequear la tabla a ver si se ha solucionado al problema. Pero no! La secuencia auto-numérica no se ha podido ajustar. Table Op Msg_type Msg_text ——————— —— ——– ——————————————————— BBDD.MI_TABLA check warning Found row where the auto_increment column has the value 0 BBDD.MI_TABLA check status OK Bueno pues como acabo de indicar, este error significa que tiene un registro en la tabla donde la columna AUTO_INCREMENT contiene un valor de índice de 0. Esto no es un error por si mismo, pero puede causar problemas si decide volcar la tabla y restaurarla o realizar un ALTER TABLE en la [...]
Pues un artículo para recordar la sql que hay que ejecutar para actualizar los password de una tabla y encriptarlos. Se usa la función md5 de mysql que es equivalente a la función con el mismo nombre de php. Puedes usar el siguiente conversor de textos a md5 para realizar cualquier tipo de prueba: conversor a md5 Y algo de teoría… La función md5 calcula una suma de control MD5 de 128 bits para la cadena. El valor se devuelve como una cadena de 32 dígitos hexadecimales, o NULL si el argumento era NULL. El valor de retorno puede, por ejemplo, ser usado como una clave hash, o lo más usado para los passwords de los usuarios, pues no pueden estar en claro en la base de datos. por ejemplo Esto devolverá la siguiente cadena codificada: ‘c893bad68927b457dbed39460e6afd62′ Tags de búsquedas:ejemplos de php y mysql con md5,md5 en sql,md5 sql
Los índices se utilizan para buscar las filas con valores de columna específica rápidamente. Sin un índice, MySQL debe comenzar con el registro primero y luego leer a través de toda la tabla para buscar las filas correspondientes. Cuanto más grande sea la tabla, más tarda este proceso. Si la tabla tiene un índice para las columnas que se trate, MySQL puede determinar rápidamente la posición de buscar en el medio del archivo de datos sin tener que mirar todos los datos. Si una tabla tiene 1000 filas, entonces esto es por lo menos 100 veces más rápido que la lectura secuencial. Todo esto puede conllevar que si una tabla tiene como Engine MyISAM puede lugar a bloqueos mientras ésta se esta leyendo. Pues bien como indico los índices aumenta la velocidad de la consulta y es crítico cuando tenemos un tráfico medio-alto. Si los indices no están bien configurados o no se tienen, puede ser problema de que nuestro mysql se bloque, toda la web vaya lenta o incluso que el servidor se bloque y haya que reiniciarlo o se caiga directamente. Normalmente un indice se crea dependiendo de la búsqueda que se haga, combinando lo que haya en [...]
Ventajas de MyISAM Bloqueo de tablas Nos permite tener las características ACID (Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español), garantizando la integridad de nuestras tablas. Optimizadas para realizar un gran números de SQL SELECT. Desventajas de MyISAM Las tablas pueden llegar a dar problemas en la recuperación de datos. El bloqueo de las tablas cuando se inserta o actualiza un registro es otra posible desventaja ya que el resto de las operaciones quedarán a la espera de la inserción o actualización del registro. Ventajas de InnoDB Integridad de datos, cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes. Pueden añadirse datos no válidos a la base de datos, con las tablas InnoDB es más difícil que esto ocurra. Mayor velocidad en general a la hora de recuperar datos. Recomendable para aplicaciones en las que dominan las sentencias INSERT / UPDATE. Ausencia de características de atomicidad ya que no tiene que hacer comprobaciones de la integridad referencial, ni bloquear las tablas para realizar las operaciones, esto nos lleva como los anteriores puntos a una mayor velocidad Desventajas de InnoDB El diseño de [...]
Últimos comentarios