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

MySQL 타임스탬프 필드에 사용자 지정 날짜를 삽입하는 방법은 무엇입니까?

<시간/>

UNIX_TIMESTAMP() 함수의 문제는 MySQL 날짜에 정수 부분이 아닌 사용자 지정 날짜를 삽입하려는 동안 정수를 반환한다는 것입니다.

UNIX_TIMESTAMP()는 정수를 반환하므로 TIMESTAMP로 정의된 열에 UNIX_TIMESTAMP()를 사용하지 마십시오.

UNIX_TIMESTAMP를 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> select UNIX_TIMESTAMP( '2019-01-09 15 −48 −23') AS IntegerValue;

다음은 출력입니다 -

+--------------+| 정수값 |+--------------+| 1547029103 |+--------------+1 행 세트(0.00초)

샘플 출력을 보면 UNIX_TIMESTAMP() 함수는 해당 날짜 및 시간의 정수를 반환합니다.

TIMESTAMP 열에 대한 사용자 정의 날짜를 삽입하는 구문은 다음과 같습니다.

INSERT INTO yourTableName(yourColumnName) values('yourCustomDateTime');

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 생성 TimestampDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> yourTimestamp TIMESTAMP, -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받은 행 0개(2.14초)

MySQL 타임스탬프 필드에 사용자 지정 날짜를 삽입하려면 다음 쿼리를 사용합니다. -

mysql> insert into TimestampDemo(yourTimestamp) values('2019-01-09 15 −48 −23');Query OK, 1행 영향(0.37초)mysql> TimestampDemo(yourTimestamp) values('2018- 03-14 16 −4 −23');쿼리 OK, 1행 영향(0.37초)mysql> insert into TimestampDemo(yourTimestamp) values('2017-12-10 10 −8 −20');쿼리 OK, 1행 영향을 받은(0.16초)mysql> TimestampDemo(yourTimestamp) values('2016-4-05 13 −45 −21')에 삽입, 쿼리 확인, 1행 영향(0.30초)

이제 select 문을 사용하여 테이블의 모든 레코드를 표시할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> *TimestampDemo에서 선택;

다음은 출력입니다 -

+----+--------------------------+| 아이디 | 타임스탬프 |+----+-----------------------+| 1 | 2019-01-09 15 −48 −23 || 2 | 2018-03-14 16 −04 −23 || 3 | 2017-12-10 10 −08 −20 || 4 | 2016-04-05 13 −45 −21 |+----+------------------------------------+4행 세트(0.00초)