Académique Documents
Professionnel Documents
Culture Documents
Podemos establecer valores por defecto para los campos cuando creamos la
tabla. Para ello utilizamos "default" al definir el campo. Por ejemplo, queremos
que el valor por defecto del campo "precio" sea 1.11 y el valor por defecto del
campo "autor" sea "Desconocido":
create table libros(
codigo int unsigned auto_increment,
titulo varchar(40) not null,
autor varchar(30) default 'Desconocido',
precio decimal(5,2) unsigned default 1.11,
cantidad int unsigned not null,
primary key (codigo)
);
Si al ingresar un nuevo registro omitimos los valores para el campo "autor" y
"precio", MySQL insertar los valores por defecto definidos con la palabra clave
"default":
insert into libros (titulo,editorial,cantidad)
values('Java en 10 minutos','Paidos',200);
MySQL insertar el registro con el siguiente valor de la secuencia en "codigo",
con el ttulo, editorial y cantidad ingresados, en "autor" colocar "Desconocido"
y en precio "1.11".
Entonces, si al definir el campo explicitamos un valor mediante la clusula
"default", se ser el valor por defecto; sino insertar el valor por defecto
implcito segn el tipo de dato del campo.
Los campos definidos "auto_increment" no pueden explicitar un valor con
"default", tampoco los de tipo "blob" y "text".
Los valores por defecto implcitos son los siguientes:
-para campos de cualquier tipo que admiten valores nulos, el valor por defecto
"null";
-para campos que no admiten valores nulos, es decir, definidos "not null", el
valor por defecto depende del tipo de dato:
-para campos numricos no declarados "auto_increment": 0;
Note que especificamos el tamao del tipo "int" entre parntesis para que
muestre por la izquierda ceros, cuando los valores son inferiores al indicado;
dicho parmetro no restringe el rango de valores que se pueden almacenar ni
el nmero de digitos.
Al ingresar un valor de cdigo con menos cifras que las especificadas (6),
aparecern ceros a la izquierda rellenando los espacios; por ejemplo, si
ingresamos "33", aparecer "000033". Al ingresar un valor para el campo
"cantidad", suceder lo mismo.
Si especificamos "zerofill" a un campo numrico, se coloca automticamente el
atributo "unsigned".
Cualquier valor negativo ingresado en un campo definido "zerofill" es un valor
invlido.