sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo necesito un campo mysql?

De forma predeterminada, MySQL acepta valores no válidos. Puede configurar MySQL en modo estricto para forzar valores válidos. Esto rechazará una consulta que no proporciona un valor para una columna NOT NULL y también aplicará integridad en todos los tipos de columnas.

Actualización: MySQL 5.7 y versiones posteriores ahora tienen el modo estricto activado de forma predeterminada. Por lo tanto, no aceptaría valores no válidos de forma predeterminada como las versiones anteriores.

http://dev.mysql .com/doc/refman/5.0/en/sql-mode.html#sql-mode-important

http://dev.mysql.com/doc /refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables

Editar:@Barranka y @RocketHazmat hicieron buenos puntos en los comentarios. '' no es lo mismo que nulo, por lo que MySQL lo permitirá en una columna NOT NULL. En ese caso, tendría que recurrir a su código o a un disparador.

En el código (PHP, por ejemplo), esto podría ser bastante fácil, ejecutando algo como:

if (!strlen($value)) { 
    // Exclude value or use NULL in query
}