¿Qué significa "Allow Null"
y qué hace?Mysql: Permitir nulo significado
Respuesta
Para entender qué significa "Permitir nulo", debe comprender qué es NULL
, y comprender que es diferente a simplemente una cadena cero o en blanco.
NULL
es un valor especial en SQL. Indica datos que no existen. Esto es diferente a los datos que están en blanco.
Cuando crea una tabla en MySQL, le permite especificar si sus campos pueden ser NULL
. Si especifica "Permitir nulo", entonces será posible crear registros con los valores NULL
en esos campos.
Esto puede serle útil en algunos casos. Por ejemplo, un campo Sí/No puede ser un valor booleano, pero si el usuario no especificó su preferencia, es posible que desee establecerlo en NULL
para indicar esto en lugar de un valor predeterminado para sí o no.
Sin embargo, en muchos casos, permitir NULL
puede ser problemático. Los campos configurados en NULL
pueden producir resultados inesperados en las consultas, porque NULL
no sigue las mismas reglas que otros valores en todos los casos. Por ejemplo: si consulta el campo de ejemplo anterior WHERE myfield != 1
, puede esperar obtener resultados para todos los registros que no sean iguales a 1. Sin embargo, los campos NULL
no serán devueltos; necesitas escribir un caso especial para ellos.
NULL
también se utiliza como el valor predeterminado al hacer consultas JOIN
donde algunos de los resultados no tienen un registro para unirse. Los campos desconocidos de la tabla unida se establecerán en NULL
.
En general, si no está seguro de qué hacer con "Permitir nulo", la opción más segura es configurarlo para que no permita nulos.
Consulte el Wikipedia entry for NULL in SQL para obtener más información.
Espero que ayude.
Permitir nulo significa que cuando usted cambia o inserta los datos, no necesita para completar esos datos. No es obligatorio.
¡Gracias por tu respuesta! –
En esencia, si permite un valor nulo, está diciendo que el campo en cuestión puede contener un valor legítimo (p. Ej .: 2011-04-02 si fue una fecha) así como "NULO" (o " sin valor").
Como tal, si imagina una situación en la que un campo era obligatorio, siempre se debe denotar como NOT NULL
en la declaración de esquema, mientras que un campo opcional se puede dejar como está.
Para obtener más información, consulte la sección Working with NULL Values del manual de MySQL, que (entre otras cosas) perfectamente resume las cosas así:
Conceptualmente, NULL significa “un valor desconocido que falta” y se trata algo diferente de otros valores.
Gracias por la excelente respuesta y el enlace. Definitivamente lo leeré. –
- 1. Diferencia entre nulo predeterminado nulo y nulo predeterminado en mysql?
- 2. Mysql combinación izquierda resultado nulo
- 3. Comparación MySQL con valor nulo
- 4. clave externa de MySQL para permitir NULL?
- 5. Permitir todas las conexiones remotas, MySQL
- 6. Permitir nulo en clave externa al usuario. Django
- 7. Diferencia entre MySQL no es nulo y! = ''
- 8. MySQL - El decimal no puede ser NULO
- 9. mysql valor nulo en donde la CLÁUSULA
- 10. reemplazar 0 con nulo en mysql
- 11. Reemplazar nulo con 0 en MySQL
- 12. Cómo comprobar si mysql devuelve nulo/vacío
- 13. ¿Cómo modifico una columna MySQL para permitir NULL?
- 14. Doctrina 2 - No permitir valor nulo en las claves externas de las relaciones ManyToOne
- 15. Significado de XMLElement @ required = true
- 16. ¿Cuál es el significado de la desreferencia del puntero nulo posible en findbug?
- 17. significado obsoleto?
- 18. Funcionalidad del operador nulo()()
- 19. mysql actualización incremento campo int que es nulo
- 20. índice único de mysql EXCEPTO vacío o nulo
- 21. Devuelve 0 si el campo es nulo en MySQL
- 22. Puede el tipo INT de MySQL no ser cero NULO
- 23. columnas MySQL con nulo predeterminado - opción estilística, ¿o no?
- 24. Actualizar el texto concat con valor nulo en mysql
- 25. Significado de la palabra clave 'privada' en Alloy? Significado de la declaración 'enum'?
- 26. significado de código de importación de bytes significado
- 27. x: significado en XAML
- 28. Significado de '*' en CSS
- 29. (pitón) significado de st_mode
- 30. significado de @ (#) caracteres
¡Gracias! Realmente agradable explicado. –
+1 muy fácil de entender, gracias –