Se você precisar definir uma coluna MySQL para não aceitar valores nulos, poderá adicionar a restrição NOT NULL no MySQL. Você pode adicionar a restrição NOT NULL ao criar uma tabela de tabela usando a instrução CREATE TABLE ou adicionar a restrição NOT NULL na tabela existente usando a instrução ALTER TABLE. Veja como adicionar a restrição NOT NULL no MySQL.
Como adicionar restrição NOT NULL no MySQL
Aqui estão as etapas para adicionar a restrição NOT NULL para a coluna no MySQL, adicionar a restrição NOT NULL à coluna existente e remover a restrição NOT NULL de uma coluna.
Aqui está a sintaxe para definir a restrição NOT NULL no MySQL quando você cria uma nova tabela.
column_name data_type NOT NULL;
Na declaração acima, você precisa especificar NOT NULL depois de mencionar o column_name e seu data_type
Aqui está um exemplo para adicionar a restrição NOT NULL no 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
Na consulta CREATE TABLE acima, adicionamos uma restrição NOT NULL para quantidade coluna. Quando você insere um valor NULL nesta coluna, o MySQL dará um erro.
Bônus de leitura:Como adicionar restrição padrão no MySQL
ALTER TABLE Adiciona restrição NOT NULL no MySQL
Você também pode adicionar a restrição NOT NULL à coluna existente no MySQL usando a instrução ALTER TABLE … CHANGE. Aqui está a sintaxe para adicionar restrição não nula na tabela existente no MySQL.
ALTER TABLE table_name CHANGE old_column_name new_column_name column_definition;
Na consulta acima, mencionamos o mesmo nome de coluna para old_column_name e new_column_name. O new_column_name deve ser seguido por sua definição de coluna do tipo de dados e palavra-chave NOT NULL.
Aqui está um exemplo de consulta SQL para adicionar a restrição NOT NULL à coluna existente no 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 | | +------------+---------+------+-----+---------+-------+
Na consulta acima, adicionamos a restrição NOT NULL à coluna existente order_date
Bônus de leitura:MySQL selecione as N linhas principais por grupo
Como eliminar a restrição NOT NULL
Você também pode eliminar a restrição NOT NULL usando a instrução ALTER TABLE … MODIFY. Aqui está a sintaxe para remover a restrição NOT NULL no MySQL.
ALTER TABLE table_name MODIFY column_name column_definition;
Na consulta acima, você precisa especificar o nome e a definição da coluna para a qual deseja remover a restrição NOT NULL.
Aqui está um exemplo para remover a restrição NOT NULL para order_date coluna.
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 | | +------------+---------+------+-----+---------+-------+
Bônus de leitura:Como obter dados da última semana no MySQL
A Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!