DEFAULT() în MySQL

Returnează valoarea implicită a unei coloane, definită la crearea tabelului.

Sintaxă
DEFAULT(coloana)

Ce face DEFAULT()

DEFAULT(coloana) citește valoarea din definiția DEFAULT a coloanei. Se folosește de exemplu în UPDATE, ca să readuci o coloană la valoarea implicită sau să calculezi pornind de la ea.

Funcția merge doar pentru coloanele cu o valoare implicită simplă (literal, ca DEFAULT 5), nu pentru cele cu expresie (DEFAULT (UUID())). Dacă o coloană nu are valoare implicită, primești eroare. Nu o confunda cu cuvântul cheie DEFAULT din INSERT ... VALUES (DEFAULT).

Parametri

Parametru Descriere
coloana Numele coloanei.

Ce returnează

Valoarea implicită a coloanei.

Exemple

Exemplul 1: Valorile implicite ale coloanelor

CREATE TABLE produse (
  id INT PRIMARY KEY,
  nume VARCHAR(30),
  stoc INT DEFAULT 10,
  stare VARCHAR(15) DEFAULT 'activ'
);
INSERT INTO produse VALUES (1, 'Laptop', 3, 'promoție');

SELECT nume, stoc, DEFAULT(stoc) AS stoc_implicit, stare, DEFAULT(stare) AS stare_implicita
FROM produse;

Rezultat

+--------+------+---------------+-----------+-----------------+
| nume   | stoc | stoc_implicit | stare     | stare_implicita |
+--------+------+---------------+-----------+-----------------+
| Laptop |    3 |            10 | promoție  | activ           |
+--------+------+---------------+-----------+-----------------+

Exemplul 2: Readucerea la valoarea implicită

CREATE TABLE produse (
  id INT PRIMARY KEY,
  nume VARCHAR(30),
  stare VARCHAR(15) DEFAULT 'activ'
);
INSERT INTO produse VALUES (1, 'Laptop', 'promoție'), (2, 'Mouse', 'lichidare');

UPDATE produse SET stare = DEFAULT(stare) WHERE id = 1;
SELECT * FROM produse;

Rezultat

+----+--------+-----------+
| id | nume   | stare     |
+----+--------+-----------+
|  1 | Laptop | activ     |
|  2 | Mouse  | lichidare |
+----+--------+-----------+

Greșeli frecvente

  • Folosești DEFAULT() pe o coloană cu valoare implicită calculată, ca DEFAULT (UUID()) sau CURRENT_TIMESTAMP. Funcția este permisă doar pentru valori implicite simple.

Comenzi înrudite

  • CREATE TABLE: Creează un tabel nou, cu coloanele și tipurile lor de date.
  • UPDATE: Modifică valorile din rândurile existente ale unui tabel.
  • INSERT INTO: Adaugă unul sau mai multe rânduri noi într-un tabel.