Ibland kan du behöva lägga till standardvärde till kolumn eller lägga till kolumn med standardvärde i MySQL. Du kan enkelt göra detta med standardbegränsning i MySQL. Så här lägger du till standardbegränsning i MySQL.
Hur man lägger till standardbegränsning i MySQL
Här är stegen för att lägga till standardbegränsning i MySQL. Du kan lägga till standardbegränsning när du skapar en tabell med CREATE TABLE-satsen eller efter tabellskapandet med ALTER TABLE-satsen. Vi kommer att titta på båda dessa tillvägagångssätt.
Hur man lägger till standardbegränsning med CREATE TABLE
Här är syntaxen för att lägga till standardbegränsning med CREATE-tabellsatsen.
mysql> create table table_name( column1 column1_definition DEFAULT default_value, column2 column2_definition, ... );
I SQL-frågan ovan måste du ange tabellnamnet tabellnamn . Du måste också nämna DEFAULT efter kolumndefinitionen för det fält som du vill lägga till standardvärde för. Du måste också ange standardvärdet för din kolumn.
Bonusläsning:MySQL Välj Top N rader per grupp
Här är ett exempel för att lägga till standardbegränsning i 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 | +------+------------+--------+
I ovanstående SQL-fråga skapar vi sample_data tabell med DEFAULT värde 0 för kolumn belopp. Som du kan se, när vi infogar värden i sample_data , vi nämner inte värdet för belopp kolumn. Ändå tilldelar MySQL automatiskt standardvärdet 0 till denna kolumn.
Bonusläs:Hur man får förra veckans data i MySQL
ALTER TABLE lägg till kolumn med standardvärde i MySQL
På samma sätt kan du lägga till standardbegränsning med ALTER TABLE-satsen för befintliga tabeller. Här är syntaxen för det
mysql> ALTER TABLE table_name ALTER column_name SET DEFAULT default_value;
I ovanstående ALTER TABLE-sats måste du nämna tabellnamn, kolumnnamn och default_value
Här är ett exempel för att lägga till standardbegränsningar med ALTER TABLE. Låt oss säga att du vill ställa in standardvärde för order_date kolumnen i ovanstående tabell sample_data
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 | +------+------------+--------+
I ovanstående SQL-fråga har vi lagt till standardbegränsning till order_date kolumn. Efter det tillhandahåller vi endast id kolumns värde i vår INSERT-sats. Ändå fyller MySQL automatiskt i order_date och belopp kolumner baserat på deras standardvärden.
Bonus Läs:MySQL Copy Database
Hur man tar bort standardvärde till kolumn
Om du behöver ta bort standardvärdet för kolumn, använd sedan DROP DEFAULT-satsen. Här är syntaxen för DROP DEFAULT-frågan.
mysql> ALTER TABLE table_name ALTER column_name DROP DEFAULT;
I ovanstående fråga måste du ange tabellnamn och kolumnnamn som du vill ta bort DEFAULT-begränsning för.
Här är ett exempel på DROP DEFAULT-begränsning i SQL.
mysql> ALTER TABLE sample_data ALTER order_date DROP DEFAULT;
I ovanstående uttalande har vi tagit bort standardbegränsningen från order_date kolumn.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!