MariaDB 10.3.9 시스템 버전 테이블에서 DateTime 사용은 rowStart에는 작동하지만 rowEnd에는 작동하지 않습니다.
MariaDB 10.3.9에서 시스템 버전 테이블을 테스트 중입니다. 하지만 버전을 과거로 바꾸고 싶습니다.2038-01-19 03:14:07.99999919년 후에도 여전히 살아있을 거라고 생각하기 때문입니다내가 사용하는 목적은DATETIME(6)대신에TIMESTAMP(6)이것은 작동하지 않습니다.그AS ROW END세대는 로서 나옵니다.0000-00-00 00:00:00.000000.
따라서 테이블의 현재 상태를 선택하거나 변경할 수 없습니다.이것이 버그인가요? 아니면 구성 옵션, 구현 세부 정보가 누락되었나요?DATETIME실현 불가능한?
다음은 테스트 세션에서 출력한 내용입니다.
MariaDB [tests]> CREATE TABLE dateTimeTest
-> (
-> dtt_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> dtt_value VARCHAR(6) NOT NULL,
-> dtt_rowStart DATETIME(6) GENERATED ALWAYS AS ROW START,
-> dtt_rowEnd DATETIME(6) GENERATED ALWAYS AS ROW END,
-> PERIOD FOR SYSTEM_TIME(dtt_rowStart, dtt_rowEnd),
-> --
-> PRIMARY KEY DTT_pk(dtt_id)
-> ) WITH SYSTEM VERSIONING;
Query OK, 0 rows affected (0.057 sec)
MariaDB [tests]> INSERT INTO dateTimeTest (dtt_value)
-> VALUES ('valueA'),
-> ('valueB');
Query OK, 2 rows affected (0.009 sec)
Records: 2 Duplicates: 0 Warnings: 0
MariaDB [tests]> SELECT *
-> FROM dateTimeTest;
Empty set (0.000 sec)
MariaDB [tests]> SELECT * FROM dateTimeTest FOR SYSTEM_TIME ALL;
+--------+-----------+----------------------------+----------------------------+
| dtt_id | dtt_value | dtt_rowStart | dtt_rowEnd |
+--------+-----------+----------------------------+----------------------------+
| 1 | valueA | 2018-10-04 20:49:50.763456 | 0000-00-00 00:00:00.000000 |
| 2 | valueB | 2018-10-04 20:49:50.763456 | 0000-00-00 00:00:00.000000 |
+--------+-----------+----------------------------+----------------------------+
2 rows in set (0.000 sec)
MariaDB [tests]>
당신은 주변에 있을지 모르지만, 그렇지 않을 것입니다.나와 함께 생각하는 연습을 하고,
19년 전 MySQL은 MyISAM만 실행하는 버전 3.xx에 있었습니다.Windows에서 이전 하드웨어를 저장하지 않으면 현재 실행되지 않는 버전을 실행하고 있었습니다.또한 1GB 미만의 RAM이 있었고 백업은 플로피에 있었을 것입니다.(플롭피 기억나세요?)그리고 디스플레이 장치는 VGA 케이블로 연결된 CRT였습니다.(CRT를 마지막으로 본 것은 언제입니까?)
그렇게 오래된 것을 믿으시겠어요?작동시킬 수 있어요?
어떻게 19년 동안 무언가를 계속 살 수 있습니까?하드웨어, 입력 장치, 출력 장치, 메모리, 스토리지, OS, MySQL 등 모든 것을 5년마다 업그레이드해야 합니다.
19년 앞으로 이동합니다.
저는 당신이 지금부터 2038년까지 4대 업그레이드를 해야 한다고 주장합니다.Y-2038 문제를 다루는 것은 처리해야 할 작은 일 중 하나일 뿐입니다.
미리 볼 필요가 있는 경우 적어도 사용할 수 있습니다.DATEY10K 문제가 발생할 때까지.그것은 우리가 죽은 후에도 오래 걸릴 것입니다.
다음은 에 대한 몇 가지 논의입니다.DATETIME및 시스템 버전 테이블.간단히 말해서, 의도적으로 허용되지 않으며 언젠가는 더 넓은 범위를 가진 데이터 유형이 있을 것입니다.https://jira.mariadb.org/browse/MDEV-17448
언급URL : https://stackoverflow.com/questions/52655055/using-datetime-in-mariadb-10-3-9-system-versioned-tables-works-for-rowstart-but
'programing' 카테고리의 다른 글
| excel.js 모듈 + 노드를 사용하여 열 머리글 앞에 행 추가 (0) | 2023.06.24 |
|---|---|
| 서로 다른 인증 공급자와 함께 여러 WebSecurityConfigurerAdapter 사용(API용 기본 인증자 및 웹 앱용 LDAP) (0) | 2023.06.24 |
| 오류: "MongoDB Atlas 클러스터의 서버에 연결할 수 없습니다." (0) | 2023.06.24 |
| TeamCity를 사용하여 빌드한 후 배포하는 방법은 무엇입니까? (0) | 2023.06.24 |
| asp.net 응용 프로그램에서 c#7 사용 (0) | 2023.06.24 |