CURRENT_TIMESTAMP în MySQL

Numele din standardul SQL pentru NOW() și CURDATE(); folosite mai ales ca valori implicite în tabele.

Sintaxă
CURRENT_TIMESTAMP[([fsp])]
LOCALTIME[([fsp])]
LOCALTIMESTAMP[([fsp])]
CURRENT_DATE[()]

Ce face CURRENT_TIMESTAMP

CURRENT_TIMESTAMP, LOCALTIME și LOCALTIMESTAMP (cu sau fără paranteze) sunt sinonime pentru NOW(). CURRENT_DATE este sinonim pentru CURDATE().

Cea mai importantă utilizare: DEFAULT CURRENT_TIMESTAMP și ON UPDATE CURRENT_TIMESTAMP la definirea coloanelor, ca MySQL să completeze singur data creării și a ultimei modificări.

Parametri

Parametru Descriere
fsp Opțional. Zecimalele secundelor (0-6).

Ce returnează

Data și ora curentă (sau doar data, pentru CURRENT_DATE).

Exemple

Exemplul 1: Coloane completate automat

CREATE TABLE articole (
  id INT PRIMARY KEY,
  titlu VARCHAR(50),
  creat DATETIME DEFAULT CURRENT_TIMESTAMP,
  modificat DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

INSERT INTO articole (id, titlu) VALUES (1, 'Ghid MySQL');

SELECT id, titlu, creat IS NOT NULL AS creat_completat, creat = modificat AS la_fel FROM articole;

Rezultat

+----+------------+-----------------+--------+
| id | titlu      | creat_completat | la_fel |
+----+------------+-----------------+--------+
|  1 | Ghid MySQL |               1 |      1 |
+----+------------+-----------------+--------+

Exemplul 2: Toate sinonimele dau aceeași valoare

SELECT NOW() = CURRENT_TIMESTAMP AS a,
       NOW() = LOCALTIME() AS b,
       NOW() = LOCALTIMESTAMP AS c,
       CURDATE() = CURRENT_DATE AS d;

Rezultat

+---+---+---+---+
| a | b | c | d |
+---+---+---+---+
| 1 | 1 | 1 | 1 |
+---+---+---+---+

Greșeli frecvente

  • Completezi data creării din aplicație la fiecare INSERT. Cu DEFAULT CURRENT_TIMESTAMP o face baza de date, mereu în același fus orar.

Comenzi înrudite