Někdy může být nutné přidat výchozí hodnotu do sloupce nebo přidat sloupec s výchozí hodnotou v MySQL. Můžete to snadno provést pomocí výchozího omezení v MySQL. Zde je návod, jak přidat výchozí omezení v MySQL.
Jak přidat výchozí omezení v MySQL
Zde jsou kroky k přidání výchozího omezení v MySQL. Výchozí omezení můžete přidat při vytváření tabulky pomocí příkazu CREATE TABLE nebo po vytvoření tabulky pomocí příkazu ALTER TABLE. Podíváme se na oba tyto přístupy.
Jak přidat výchozí omezení pomocí CREATE TABLE
Zde je syntaxe pro přidání výchozího omezení pomocí příkazu CREATE tabulky.
mysql> create table table_name( column1 column1_definition DEFAULT default_value, column2 column2_definition, ... );
Ve výše uvedeném SQL dotazu musíte zadat název tabulky table_name . Také musíte uvést DEFAULT za definici sloupce pole, pro které chcete přidat výchozí hodnotu. Musíte také zadat výchozí hodnotu vašeho sloupce.
Bonusové čtení:MySQL Vyberte prvních N řádků na skupinu
Zde je příklad přidání výchozího omezení v 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 | +------+------------+--------+
Ve výše uvedeném SQL dotazu vytvoříme ukázková_data tabulka s DEFAULT hodnotou 0 pro sloupec částka. Jak vidíte, když vkládáme hodnoty do sample_data , neuvádíme hodnotu pro částku sloupec. MySQL však tomuto sloupci automaticky přiřadí výchozí hodnotu 0.
Bonusové čtení:Jak získat data z minulého týdne v MySQL
ALTER TABLE přidat sloupec s výchozí hodnotou v MySQL
Podobně můžete přidat výchozí omezení pomocí příkazu ALTER TABLE pro existující tabulky. Zde je jeho syntaxe
mysql> ALTER TABLE table_name ALTER column_name SET DEFAULT default_value;
Ve výše uvedeném příkazu ALTER TABLE musíte zmínit název_tabulky, název_sloupce a default_value
Zde je příklad přidání výchozího omezení pomocí ALTER TABLE. Řekněme, že chcete nastavit výchozí hodnotu pro order_date ve výše uvedené tabulce 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 | +------+------------+--------+
Ve výše uvedeném SQL dotazu jsme přidali výchozí omezení k datum_objednávky sloupec. Poté poskytujeme pouze id hodnotu sloupce v našem příkazu INSERT. Přesto MySQL automaticky vyplní order_date a částka sloupců na základě jejich výchozích hodnot.
Bonusové čtení:Kopírovací databáze MySQL
Jak odebrat výchozí hodnotu ze sloupce
Pokud potřebujete odstranit výchozí hodnotu pro sloupec, použijte příkaz DROP DEFAULT. Zde je syntaxe dotazu DROP DEFAULT.
mysql> ALTER TABLE table_name ALTER column_name DROP DEFAULT;
Ve výše uvedeném dotazu musíte zadat název_tabulky a název_sloupce pro které chcete zrušit výchozí omezení.
Zde je příklad omezení DROP DEFAULT v SQL.
mysql> ALTER TABLE sample_data ALTER order_date DROP DEFAULT;
Ve výše uvedeném prohlášení jsme odstranili výchozí omezení z order_date sloupec.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!