20 - Valores por defecto. |
Hemos visto los valores por defecto de los distintos tipos de datos. Ahora que conocemos más tipos de datos, vamos a ampliar la información referente a ellos y a repasar los conocidos.
Para campos de cualquier tipo no declarados "not null" el valor por defecto es "null" (excepto para tipos "timestamp" que no trataremos aquí).
Para campos declarados "not null", el valor por defecto depende del tipo de dato. Para cadenas de caracteres el valor por defecto es una cadena vacía. Para valores numéricos el valor por defecto es 0; en caso de ser "auto_increment" es el valor mayor existente+1 comenzando en 1. Para campos de tipo fecha y hora, el valor por defecto es 0 (por ejemplo, en un campo "date" es "0000-00-00").
Para todos los tipos, excepto "blob", "text" y "auto_increment" se pueden explicitar valores por defecto con la cláusula "default"; tema que veremos más adelante.
Un valor por defecto se inserta cuando no está presente al ingresar un registro y en algunos casos en que el dato ingresado es inválido.
Los campos para los cuales no se ingresaron valores tomarán los valores por defecto según el tipo de dato del campo, en el campo "codigo" ingresará el siguiente valor de la secuencia porque es "auto_increment"; en el campo "titulo", ingresará una cadena vacía porque es "varchar not null"; en el campo "editorial" almacenará "null", porque no está definido "not null"; en el campo "precio" guardará "null" porque es el valor por defecto de los campos no definidos como "not null" y en el campo "cantidad" ingresará 0 porque es el valor por defecto de los campos numéricos que no admiten valores nulos.
Tipo Valor por defecto Cláusula "default" _____________________________________________________________________________________ caracter not null cadena vacía permite numerico not null 0 permite fecha not null 0000-00-00 permite hora not null 00:00:00 permite auto_increment siguiente de la sec., empieza en 1 no permite carac.,numer.,fecha,hora null null permite