En este post te mostraré cómo modificar una tabla de MySQL o MariaDB para editar su valor por defecto o valor por default.
Es decir, a través de una consulta alter table
modificar el valor por defecto que obtiene una columna.
Sintaxis de la consulta
De manera simple y rápida la consulta es:
ALTER TABLE la_tabla ALTER COLUMN la_columna SET DEFAULT valor_por_defecto;
Con esto simplemente cambiamos el valor por defecto de la tabla, sin modificar la columna (por ejemplo, el tipo de dato o nombre).
Ejemplo para cambiar el valor default en SQL
Veamos un sencillo ejemplo. Tengo una tabla cuyo valor por defecto es null
, pero no quiero que sea así.
Al inicio su forma es:
MariaDB [foo]> describe pacientes;
+------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| Nombre | text | NO | | NULL | |
| Ap_Paterno | text | NO | | NULL | |
| Ap_Materno | text | NO | | NULL | |
| Sexo | text | NO | | NULL | |
| Edad | varchar(3) | NO | | NULL | |
| Municipio | text | NO | | NULL | |
| Telefono | text | NO | | NULL | |
| Correo | text | NO | | NULL | |
| Redes | text | NO | | NULL | |
| Tarjeta | text | NO | | NULL | |
| Monedero | decimal(65,0) | NO | | NULL | |
+------------+---------------+------+-----+---------+----------------+
12 rows in set (0.003 sec)
Si te fijas, la columna Municipio, Telefono, etcétera tienen un default en NULL. Ahora haré los cambios:
ALTER TABLE pacientes ALTER COLUMN Municipio SET DEFAULT '';
ALTER TABLE pacientes ALTER COLUMN Telefono SET DEFAULT '';
ALTER TABLE pacientes ALTER COLUMN Correo SET DEFAULT '';
ALTER TABLE pacientes ALTER COLUMN Redes SET DEFAULT '';
ALTER TABLE pacientes ALTER COLUMN Tarjeta SET DEFAULT '';
ALTER TABLE pacientes ALTER COLUMN Monedero SET DEFAULT 0;
Es importante notar que el valor por defecto cambia de acuerdo al tipo de dato. Por ejemplo, para las cadenas es ''
pero para número es 0. Puedes colocar el valor que tú desees, en mi caso simplemente coloco los valores vacíos.
Al mostrar de nuevo la estructura de mi tabla vemos que ya está establecido el valor por defecto:
Con este método puedes insertar solo algunos datos y los demás se van a insertar con el valor por defecto. Más tarde puedes actualizarlos, pero al inicio no habrá errores.