Si necesita configurar una columna de MySQL para que no acepte valores nulos, puede agregar la restricción NOT NULL en MySQL. Puede agregar la restricción NOT NULL cuando crea una tabla usando la declaración CREATE TABLE, o agregar la restricción NOT NULL en la tabla existente usando la declaración ALTER TABLE. Aquí se explica cómo agregar la restricción NOT NULL en MySQL.
Cómo agregar la restricción NOT NULL en MySQL
Estos son los pasos para agregar la restricción NOT NULL para la columna en MySQL, agregar la restricción NOT NULL a la columna existente y eliminar la restricción NOT NULL de una columna.
Aquí está la sintaxis para definir la restricción NOT NULL en MySQL cuando crea una nueva tabla.
column_name data_type NOT NULL;
En la declaración anterior, debe especificar NOT NULL después de mencionar el column_name y su tipo_de_datos
Aquí hay un ejemplo para agregar la restricción NOT NULL en MySQL.
mysql> create table product_sales( id int, amount int NOT NULL, order_date date ); mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | YES | | NULL | | +------------+---------+------+-----+---------+-------+ mysql> insert into product_sales(id, order_date) values(1,'2020-08-01'); ERROR 1364 (HY000): Field 'amount' doesn't have a default value
En la consulta CREATE TABLE anterior, hemos agregado una restricción NOT NULL para cantidad columna. Cuando inserta un valor NULL en esta columna, MySQL dará un error.
Lectura adicional:Cómo agregar restricciones predeterminadas en MySQL
ALTER TABLE Añadir restricción NOT NULL en MySQL
También puede agregar la restricción NOT NULL a la columna existente en MySQL usando la declaración ALTER TABLE … CHANGE. Esta es la sintaxis para agregar una restricción no nula en una tabla existente en MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name column_definition;
En la consulta anterior, mencionamos el mismo nombre de columna para old_column_name así como new_column_name. El new_column_name debe ir seguido de su column_definition del tipo de datos y la palabra clave NOT NULL.
Aquí hay un ejemplo de consulta SQL para agregar la restricción NOT NULL a la columna existente en MySQL.
mysql> ALTER TABLE product_sales CHANGE order_date order_date DATE NOT NULL; mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | NO | | NULL | | +------------+---------+------+-----+---------+-------+
En la consulta anterior, hemos agregado la restricción NOT NULL a la columna existente order_date
Lectura adicional:MySQL seleccione las N filas principales por grupo
Cómo eliminar la restricción NOT NULL
También puede eliminar la restricción NOT NULL usando ALTER TABLE … MODIFY declaración. Esta es la sintaxis para eliminar la restricción NOT NULL en MySQL.
ALTER TABLE table_name MODIFY column_name column_definition;
En la consulta anterior, debe especificar el nombre de la columna y la definición para la que desea eliminar la restricción NOT NULL.
Aquí hay un ejemplo para eliminar la restricción NOT NULL para order_date columna.
mysql> ALTER TABLE product_sales MODIFY order_date DATE; mysql> describe product_sales; +------------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | amount | int(11) | NO | | NULL | | | order_date | date | YES | | NULL | | +------------+---------+------+-----+---------+-------+
Lectura adicional:Cómo obtener datos de la semana pasada en MySQL
Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!