Понякога може да се наложи да добавите стойност по подразбиране към колона или да добавите колона със стойност по подразбиране в MySQL. Можете лесно да направите това, като използвате ограничение по подразбиране в MySQL. Ето как да добавите ограничение по подразбиране в MySQL.
Как да добавите ограничение по подразбиране в MySQL
Ето стъпките за добавяне на ограничение по подразбиране в MySQL. Можете да добавите ограничение по подразбиране, докато създавате таблица с оператор CREATE TABLE или след създаване на таблица с помощта на оператор ALTER TABLE. Ще разгледаме и двата подхода.
Как да добавите ограничение по подразбиране с помощта на CREATE TABLE
Ето синтаксиса за добавяне на ограничение по подразбиране с помощта на израза CREATE table.
mysql> create table table_name( column1 column1_definition DEFAULT default_value, column2 column2_definition, ... );
В горната SQL заявка трябва да посочите името на таблицата име_на_таблица . Също така трябва да споменете DEFAULT след дефиницията на колоната на полето, за което искате да добавите стойност по подразбиране. Трябва също да посочите стойността по подразбиране на вашата колона.
Бонус за четене:MySQL Изберете Топ N реда на група
Ето пример за добавяне на ограничение по подразбиране в 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 | +------+------------+--------+
В горната SQL заявка създаваме sample_data таблица със стойност по ПОДРАЗБИРАНЕ 0 за колона количество. Както можете да видите, когато вмъкваме стойности в sample_data , не споменаваме стойността за сума колона. И все пак MySQL автоматично присвоява стойността по подразбиране 0 на тази колона.
Бонус четене:Как да получите данни от миналата седмица в MySQL
ALTER TABLE добавя колона със стойност по подразбиране в MySQL
По същия начин можете да добавите ограничение по подразбиране, като използвате оператор ALTER TABLE за съществуващи таблици. Ето синтаксиса за него
mysql> ALTER TABLE table_name ALTER column_name SET DEFAULT default_value;
В горния израз на ALTER TABLE трябва да споменете име_на_таблица, име на колона и стойност по подразбиране
Ето пример за добавяне на ограничение по подразбиране с помощта на ALTER TABLE. Да приемем, че искате да зададете стойност по подразбиране за order_date колона в горната таблица 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 | +------+------------+--------+
В горната SQL заявка добавихме ограничение по подразбиране към order_date колона. След това предоставяме само id стойността на колоната в нашия израз INSERT. И все пак MySQL автоматично попълва order_date и сума колони въз основа на техните стойности по подразбиране.
Бонус четене:MySQL Copy Database
Как да премахнете стойността по подразбиране в колона
Ако трябва да премахнете стойността по подразбиране за колона, използвайте израза DROP DEFAULT. Ето синтаксиса на заявката DROP DEFAULT.
mysql> ALTER TABLE table_name ALTER column_name DROP DEFAULT;
В горната заявка трябва да посочите име_на_таблица и име_на_колона за които искате да премахнете ограничението DEFAULT.
Ето пример за DROP DEFAULT ограничение в SQL.
mysql> ALTER TABLE sample_data ALTER order_date DROP DEFAULT;
В горния израз премахнахме ограничението по подразбиране от order_date колона.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!