Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL이 자동으로 타임스탬프를 연속으로 저장할 수 있습니까?

<시간/>

예, 다음 두 가지 방법으로 이를 달성할 수 있습니다.

  • 첫 번째 접근 방식 테이블 생성 시.

  • 두 번째 접근 방식 쿼리 작성 시점입니다.

구문은 다음과 같습니다.

CREATE TABLE yourTableName
(
yourDateTimeColumnName datetime default current_timestamp
);

변경 명령을 사용할 수 있습니다.

구문은 다음과 같습니다.

ALTER TABLE yourTableName ADD yourColumnName datetime DEFAULT CURRENT_TIMESTAMP;

지금 두 구문을 모두 구현하십시오.

첫 번째 접근 방식은 다음과 같습니다.

mysql> create table CurrentTimeStampDemo
-> (
-> CreationDate datetime default current_timestamp
-> );
Query OK, 0 rows affected (0.61 sec)

'CreationDate' 열에 대한 매개변수를 전달하지 않으면 MySQL은 기본적으로 현재 타임스탬프를 저장합니다.

insert 명령을 사용하여 테이블에 레코드를 삽입합니다. 쿼리는 다음과 같습니다.

mysql> insert into CurrentTimeStampDemo values();
Query OK, 1 row affected (0.12 sec)
Let us now display all records from the table

선택 명령을 사용하여 쿼리는 다음과 같습니다.

mysql> select *from CurrentTimeStampDemo;

다음은 출력입니다.

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 15:53:03 |
+---------------------+
1 row in set (0.00 sec)

두 번째 접근 방식

이것은 ALTER 명령을 사용하고 있습니다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table Current_TimestampDemo
-> (
-> Id int
-> );
Query OK, 0 rows affected (0.43 sec)

다음은 생성 시간을 자동으로 저장하는 쿼리입니다. 쿼리는 다음과 같습니다.

mysql> ALTER TABLE Current_TimestampDemo
-> ADD CreationDate datetime DEFAULT CURRENT_TIMESTAMP;
Query OK, 0 rows affected (0.53 sec)
Records: 0 Duplicates: 0 Warnings: 0

'CreationDate' 열에 대한 값을 전달하지 않는 경우. MySQL은 이 열에 대한 현재 날짜/시간 값을 저장합니다. 쿼리는 다음과 같습니다.

mysql> insert into Current_TimestampDemo(Id) values(1);
Query OK, 1 row affected (0.19 sec)

select 문을 사용하여 테이블의 레코드를 표시합니다. 쿼리는 다음과 같습니다.

mysql> select CreationDate from Current_TimestampDemo;

다음은 출력입니다.

+---------------------+
| CreationDate        |
+---------------------+
| 2019-01-02 16:25:12 |
+---------------------+
1 row in set (0.00 sec)