Zeitstempel in eine MySQL-Tabelle einfügen

Mehvish Ashiq 20 Juni 2023
  1. Erstellen Sie eine MySQL-Tabelle
  2. Verwenden Sie NOW(), um den Zeitstempel in eine MySQL-Tabelle einzufügen
  3. Verwenden Sie CURRENT_TIMESTAMP(), um den Zeitstempel in eine MySQL-Tabelle einzufügen
  4. Legen Sie Null- oder Standardwerte für die Spalte vom Typ TIMESTAMP in der MySQL-Tabelle fest
Zeitstempel in eine MySQL-Tabelle einfügen

Heute lernen wir, wie man Datum und Uhrzeit in die Spalte vom Typ TIMESTAMP der MySQL-Tabelle basierend auf der Tabellendefinition einfügt.

Erstellen Sie eine MySQL-Tabelle

Zuerst erstellen wir die Tabelle, die wir für dieses Tutorial verwenden werden.

Beispielcode:

CREATE TABLE demo_one(
    demo_one_id INT NOT NULL,
    demo_one_timestamp TIMESTAMP NOT NULL,
    PRIMARY KEY(demo_one_id)
);

Verwenden Sie DESCRIBE wie folgt, um mehr über die Tabellendefinition zu erfahren.

Anfrage:

DESCRIBE demo_one;

Ausgang:

+--------------------+-----------+------+-----+---------+-------+
| Field              | Type      | Null | Key | Default | Extra |
+--------------------+-----------+------+-----+---------+-------+
| demo_one_id        | int       | NO   | PRI | NULL    |       |
| demo_one_timestamp | timestamp | NO   |     | NULL    |       |
+--------------------+-----------+------+-----+---------+-------+
2 rows in set (0.08 sec)

Wir können sehen, dass beide Attribute keine NULL-Werte akzeptieren, und wir haben keine Standardwerte für sie. Das bedeutet, dass wir die Werte für beide Spalten einfügen müssen.

Verwenden Sie NOW(), um den Zeitstempel in eine MySQL-Tabelle einzufügen

Der erste Ansatz, den wir demonstrieren werden, um TIMESTAMP in eine MySQL-Tabelle einzufügen, ist NOW().

Anfrage:

INSERT INTO demo_one (demo_one_id, demo_one_timestamp)
VALUES
(1, NOW());

Verwenden Sie die Anweisung SELECT, um die aktuellen Tabellendaten anzuzeigen.

Anfrage:

SELECT * FROM demo_one;

Ausgang:

+-------------+---------------------+
| demo_one_id | demo_one_timestamp  |
+-------------+---------------------+
|           1 | 2022-05-14 11:04:11 |
+-------------+---------------------+
1 row in set (0.00 sec)

Verwenden Sie CURRENT_TIMESTAMP(), um den Zeitstempel in eine MySQL-Tabelle einzufügen

Wir können auch die Methode CURRENT_TIMESTAMP() verwenden, um TIMESTAMP in die zuvor erstellte MySQL-Tabelle einzufügen.

Anfrage:

INSERT INTO demo_onE (demo_one_id, demo_one_timestamp)
VALUES
(2, CURRENT_TIMESTAMP());

Wir können die Anweisung SELECT wie unten angegeben verwenden, um die Daten der Tabelle anzuzeigen.

Anfrage:

SELECT * FROM demo_one;

Ausgang:

+-------------+---------------------+
| demo_one_id | demo_one_timestamp  |
+-------------+---------------------+
|           1 | 2022-05-14 11:04:11 |
|           2 | 2022-05-14 11:06:01 |
+-------------+---------------------+
2 rows in set (0.03 sec)

Legen Sie Null- oder Standardwerte für die Spalte vom Typ TIMESTAMP in der MySQL-Tabelle fest

Wenn wir den Wert für die Spalte vom Typ TIMESTAMP nicht einfügen möchten, können wir dies auf zwei Arten tun. Stellen Sie diese Spalte entweder so ein, dass sie NULL-Werte akzeptiert, oder legen Sie den Standardwert für die Spalte fest.

Beispielcode (akzeptiere null-Werte für das Feld demo_two_timestamp):

CREATE TABLE demo_two(
    demo_two_id INT NOT NULL,
    # we can also write the following column definition
    # as `demo_two_timestamp TIMESTAMP NULL`
    demo_two_timestamp TIMESTAMP,
    PRIMARY KEY(demo_two_id)
);

INSERT INTO demo_two (demo_two_id, demo_two_timestamp) VALUES (1,null), (2, NOW());

SELECT * FROM demo_two;

Ausgang:

+-------------+---------------------+
| demo_two_id | demo_two_timestamp  |
+-------------+---------------------+
|           1 | NULL                |
|           2 | 2022-05-14 11:15:18 |
+-------------+---------------------+
2 rows in set (0.04 sec)

Hier können wir NULL verwenden, wenn wir den Wert für die Spalte demo_two_timestamp nicht einfügen wollen. Wir haben auch die Flexibilität, den richtigen Wert mit NOW() oder CURRENT_TIMESTAMP() einzufügen, wenn wir nicht NULL für einen bestimmten Datensatz haben wollen.

Beispielcode (Standardwert für das Feld demo_three_timestamp setzen):

CREATE TABLE demo_three(
    demo_three_id INT NOT NULL,
    demo_three_timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY(demo_three_id)
);

INSERT INTO demo_three (demo_three_id) VALUES (1);
INSERT INTO demo_three (demo_three_id, demo_three_timestamp) VALUES (2, NOW());
INSERT INTO demo_three (demo_three_id, demo_three_timestamp)
VALUES (3, CURRENT_TIMESTAMP());

SELECT * FROM demo_three;

Ausgang:

+---------------+----------------------+
| demo_three_id | demo_three_timestamp |
+---------------+----------------------+
|             1 | 2022-05-14 11:21:57  |
|             2 | 2022-05-14 11:22:20  |
|             3 | 2022-05-14 11:22:40  |
+---------------+----------------------+
3 rows in set (0.00 sec)

Wenn wir weder den Wert für die Spalte demo_three_timestamp eingeben noch NULL haben wollen, dann können wir die Standardwerte mit DEFAULT CURRENT_TIMESTAMP setzen, wie im obigen Beispiel gezeigt.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Verwandter Artikel - MySQL Table

Verwandter Artikel - MySQL Timestamp