Archivo
Archivo
-
-
-
-
-
-
-
- Codeplex excelentes soluciones
- Evento onchange con jqtransform
- Consejos para diseñar tu blog
- ¿Por qué eliminamos un blog?
- Comparar con cero en php
- Convertir números romanos en PHP
- ¿Por qué utilizar PHP 5.3?
- PHP Non-Thread Safe vs Thread Safe
- Plugin jquery jqtransform, errores
- Plugin de jquery ui: autocomplete
- Claves externas en mysql, notas
- Errores con load data infile en mysql
-
-
-
-
-
Etiquetas
Etiquetas
php
microsoft
herramientas
configuraciones
tutoriales
SQL Server
javascript
windows
instalaciones
comandos
MySQL
bases de datos
linux
bugs
SQL
script php
managment studio
curiosidades
internet
jquery
apache
optimización
actualizaciones
clases php
centos
navegadores
librerías php
T-SQL
queries
google
opinión
recursos
marketing
benchmark
programas
software
emails
sistemas operativos
AJAX
códigos
errores
frameworks
posicionamiento
seguridad internet
driver sql server php
formularios
funciones fecha
hardware
html5
zend
buscadores
estadísticas
plugins
SEO
html
redes sociales
htaccess
repositorios
scripts shell linux
servidores web
entornos de trabajo
nginx
procedimientos
copias de seguridad
firewall
munin
nodejs
opensuse
versiones
virtualización
wamp server
Hyper-V
php-fpm
trucos
expresiones regulares
office 2010
redes
rss
subversion
triggers
utf8
http2
safe mode
technical preview
tecnología
unidad de red
xampp
herencia
opcache
planes de ejecucución
powershell
teamviewer
Mostrar más
Mostrar menos
Entradas populares de este blog
Al parece hay algún tipo de error en la instalación de algunas versiones de MySQL o en la actualización de algunas (a mi me ha pasado actualizando de la 5.6.10 a la 5.6.11), en el cual te pueden dar los siguientes errores: ERROR 1146 (42S02) at line 36: Table 'mysql.innodb_table_stats' doesn't exist ERROR 1146 (42S02) at line 45: Table 'mysql.innodb_index_stats' doesn't exist ERROR 1146 (42S02) at line 73: Table 'mysql.slave_relay_log_info' doesn't exist ERROR 1146 (42S02) at line 102: Table 'mysql.slave_master_info' doesn't exist ERROR 1146 (42S02) at line 120: Table 'mysql.slave_worker_info' doesn't exist Sin embargo si entras en un administrador de MySQL como SQLYog puedes ver que las tablas existen pero luego al intentar abrirlas te sale el error Error CODE: 1146 TABLE ‘mysql.innodb_table_stats’ doesn’t exist Esto ocurre al tener activada en nuestro my.cnf la opción innodb_file_per_table. Al parecer al actualizar MySQ...
PHP Non-Thread Safe vs Thread Safe
Actualmente las versiones de PHP se están distribuyendo como Non-Thread Safe (NTS) y Thread Safe (TS), veamos en que consiste cada una: Thread Safe (TS) es una característica que permite optimizar PHP para un entorno MultiHilo (Windows) y no Multiproceso (Linux) , siendo así mas efectivo en Apache para Windows ya que permite, dicho de una forma totalmente ambigua, cargar todo el ambiente de PHP y mantenerlo en la memoria para todos los hilos que lo necesiten. Esto sin embargo generaba problemas varios en ISS al ejecutar PHP como ISAPI ya que muchas extensiones estaban hechas pensado en el modelo Multiproceso (Linux) y obligaba a utilizar PHP como CGI, esto lo hacía más estable pero exageradamente más lento debido a que tiene que cargar y descargar de la memoria el ambiente completo de PHP en cada requerimiento o proceso. Lo que Non-Thread Safe (NTS) permite es configurar ISS y otros servidores basados en el modelo de Windows (MultiHilo) para que usen PHP como CGI pero mejorando...
Listado de palabras en castellano
Aquí os dejo un recurso que puede ser muy útil para algunos, una base de datos en MySQL con un diccionario , o mas bien un listado, de más de 55 mil palabras en castellano. El archivo SQL consta de una base de datos con una única tabla, la cual tiene 4 campos, la clave primario y 3 campos de texto con la misma palabra (todas en minúscula). La diferencia entre los 3 campos es que el primero llamado palabra es un varchar con lo cual en las consultas SQL no distingue entre acentos o ñ y n, los otros dos campos son binarios por tanto si distinguen, uno de ellos tiene ñ pero no tiene acentos y el otro tiene acentos y ñ para una comparativa más exacta. El origen de estas palabras los he sacado del diccionario de español genérico de Open Office disponible para múltiples países desde su página para diccionarios en español para Open Office . Otra fuente de palabras en castellano puede ser el diccionaro de PhpStorm para comprobar la ortografía. Luego de descargar el archivo hay...
Claves externas en mysql, notas
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
No cabe duda que para garantizar la integridad en una base de datos es imprescindible utilizar claves extranjeras (foreign keys, claves externas, etc.), pero a la par con su importancia está su difícil manejo en algunas ocasiones y sumado esto a la escases de información referente a errores de mysql muchas veces nos encontramos desamparados a la hora de crear tablas con este tipo de claves.
Para evitar errores del tipo Can't create table (errno: 121), que no te dicen nada, debemos tener en cuenta los siguientes aspectos a la hora de crear foreign keys:
- los campos de origen y destino deben ser del mismo tipo, misma longitud y con los mismos atributos (si uno es unsigned el otro también, si es int (3) el otro debe ser int y con longitud 3 también)
- los campos de origen y destino ambos deben ser índices (algunas aplicaciones al crear la clave ya te crean el índice en el campo origen pero el campo de destino siempre tienes que crearlo como índice, no es necesario que sea una primary key solo index)
- el nombre que se le dé a la foreign key debe ser único en toda la base de datos (cosa que no ocurre en un índice normal que se puede repetir el nombre)
- si el campo destino es auto increment no es necesario que el origen lo sea (esto es obvio pero a lo mejor puede causar confusión con el punto 1)
- solo pueden crearse foreign key en tablas con motor innodb.
Espero que les sea útil y no les den tantos dolores de cabeza como a mi la creación de tablas en mysql con claves externas.
Comentarios