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. CuDEFAULT CURRENT_TIMESTAMPo face baza de date, mereu în același fus orar.
Comenzi înrudite
NOW / CURDATE / DATE_FORMAT: Data și ora curentă și formatarea datelor.CURTIME(): Returnează ora curentă (fără dată), în fusul orar al sesiunii.CREATE TABLE: Creează un tabel nou, cu coloanele și tipurile lor de date.