A volte potrebbe essere necessario aggiungere un valore predefinito alla colonna o aggiungere una colonna con un valore predefinito in MySQL. Puoi farlo facilmente usando il vincolo predefinito in MySQL. Ecco come aggiungere un vincolo predefinito in MySQL.
Come aggiungere un vincolo predefinito in MySQL
Ecco i passaggi per aggiungere il vincolo predefinito in MySQL. È possibile aggiungere un vincolo predefinito durante la creazione della tabella utilizzando l'istruzione CREATE TABLE o dopo la creazione della tabella utilizzando l'istruzione ALTER TABLE. Esamineremo entrambi questi approcci.
Come aggiungere un vincolo predefinito utilizzando CREATE TABLE
Ecco la sintassi per aggiungere il vincolo predefinito usando l'istruzione CREATE table.
mysql> create table table_name( column1 column1_definition DEFAULT default_value, column2 column2_definition, ... );
Nella query SQL precedente, è necessario specificare il nome della tabella nome_tabella . Inoltre, è necessario menzionare DEFAULT dopo la definizione di colonna del campo per il quale si desidera aggiungere il valore predefinito. Devi anche specificare il valore predefinito della tua colonna.
Bonus Lettura:MySQL Seleziona le prime N righe per gruppo
Ecco un esempio per aggiungere un vincolo predefinito in MySQL.
mysql> create table sample_data( id int, order_date date, amount int DEFAULT 0 ); mysql> insert into sample_data(id, order_date) values(1,'2020-08-01'); mysql> select * from sample_data; +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 1 | 2020-08-01 | 0 | +------+------------+--------+
Nella query SQL sopra, creiamo sample_data tabella con valore DEFAULT 0 per la colonna importo. Come puoi vedere, quando inseriamo valori in sample_data , non menzioniamo il valore di importo colonna. Tuttavia, MySQL assegna automaticamente il valore predefinito 0 a questa colonna.
Bonus Leggi:Come ottenere i dati della scorsa settimana in MySQL
ALTER TABLE aggiunge una colonna con valore predefinito in MySQL
Allo stesso modo, puoi aggiungere un vincolo predefinito usando l'istruzione ALTER TABLE per le tabelle esistenti. Ecco la sintassi
mysql> ALTER TABLE table_name ALTER column_name SET DEFAULT default_value;
Nell'istruzione ALTER TABLE sopra è necessario menzionare nome_tabella, nome_colonna e valore_predefinito
Ecco un esempio per aggiungere un vincolo predefinito utilizzando ALTER TABLE. Supponiamo che tu voglia impostare il valore predefinito per data_ordine colonna nella tabella sample_data sopra
mysql> ALTER TABLE sample_data ALTER order_date SET DEFAULT '2020-08-03'; mysql> insert into sample_data(id) values(2); mysql>select * from sample_data; mysql> select * from sample_data; +------+------------+--------+ | id | order_date | amount | +------+------------+--------+ | 1 | 2020-08-01 | 0 | | 2 | 2020-08-03 | 0 | +------+------------+--------+
Nella query SQL sopra, abbiamo aggiunto il vincolo predefinito a data_ordine colonna. Successivamente, forniamo solo id valore della colonna nella nostra istruzione INSERT. Tuttavia, MySQL compila automaticamente data_ordine e importo colonne in base ai loro valori predefiniti.
Bonus Lettura:MySQL Copy Database
Come rimuovere il valore predefinito dalla colonna
Se è necessario rimuovere il valore predefinito per la colonna, utilizzare l'istruzione DROP DEFAULT. Ecco la sintassi per la query DROP DEFAULT.
mysql> ALTER TABLE table_name ALTER column_name DROP DEFAULT;
Nella query precedente, devi specificare il nome_tabella e nome_colonna per cui vuoi eliminare il vincolo DEFAULT.
Ecco un esempio di vincolo DROP DEFAULT in SQL.
mysql> ALTER TABLE sample_data ALTER order_date DROP DEFAULT;
Nella dichiarazione precedente, abbiamo rimosso il vincolo predefinito da data_ordine colonna.
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!