MySQL Workbench - 테이블 데이터 가져오기 마법사(모든 날짜/시간 개체를 0000-00 00:00:00:00로 기록)
MySQL Workbench 8.0을 MariaDB에서 사용하고 있습니다.'10.1.37-MariaDB') 서버입니다.
테이블 데이터 가져오기 마법사를 사용하여 세 가지 예제 값을 테이블로 가져오려고 합니다.CSV의 예를 다음에 나타냅니다.
emp_id,Event,Event_start_time,Event_end_time,
example,shift,"2020/11/6 0:00:00","6/11/2020 23:59",
example,lunch,"2020/14/06 13:00:00","2020/14/06 13:30:00",
example,break,"2020/14/06 10:10:00","2020/14/06 10:30:00",
Import 중에 모든 값이 올바르게 표시됩니다.[ Datetime ]필드에 저장합니다( ).Event_start_time,Event_end_time)로 표시됩니다.'0000-00-00 00:00:00'실행 후select진술.
다음의 포맷을 시험해 보았습니다만, 어느 것도 동작하지 않는 것 같습니다.
"2020/11/6 0:00:00"2020/11/6 0:00:002020/11/06 00:00:002020-11-06 00:00:00
다음 사례가 성공했습니다.
2020-11-06 0:00
하지만 비즈니스 로직에는 초를 포함할 수 있어야 합니다.
게다가 (기존 Datetime 값을 사용하여) 테이블을 내보내는 경우.csv동일한 마법사를 사용하여 재 Import를 시도하면 모든 값이 로딩됩니다.'0000-00-00 00:00:00'다른 사람을 위한 솔루션을 개발하고 있기 때문에 MySQL 스크립팅을 가능한 한 최소화/회피하고 싶습니다. 내가 뭘 잘못하고 있지?
데이트 날짜가 지난 것 같네요YYYY/DD/MM HH:MI:SS포맷. MySQL 관점에서는 유효하지 않습니다.포맷으로 변환해야 합니다.YYYY-MM-DD HH:MI:SS데이터베이스가 제대로 인식할 수 있도록 합니다.
CSV 파일에 데이터가 있는 경우 입력 전처리를 사용하는 구문이 간단한 옵션입니다.표시되어 있는 샘플 데이터에 근거해, 이것은 다음과 같습니다.
load data infile 'myfile.csv'
into mytable (emp_id, event, @event_start_time, @event_end_time)
fields terminated by ',' optionally enclosed by '"'
ignore 1 lines
set
event_start_time = str_to_date(@event_start_time, '%Y/%d/%m %H:%i:%s'),
event_end_time = str_to_date(@event_end_time, '%Y/%d/%m %H:%i:%s')
스테이트먼트 옵션과 경우에 따라서는 목표 날짜 형식을 실제 사용에 맞게 조정해야 할 수도 있습니다.
값을 잘못 적었어요.
2020-11-06 0:00:00(Y-M-D)정답입니다.2020-14-06 0:00:00(Y-D-M)틀렸습니다.
언급URL : https://stackoverflow.com/questions/62440169/mysql-workbench-table-data-import-wizard-writing-all-datetime-objects-as-0000
'programing' 카테고리의 다른 글
| stdClass 개체를 다른 클래스로 변환/캐스팅합니다. (0) | 2022.10.22 |
|---|---|
| 많은 인수를 메서드에 전달하기 위한 베스트 프랙티스? (0) | 2022.10.22 |
| PHP: 원래 문자 집합을 모르는 상태에서 문자열을 UTF-8로 변환하거나 최소한 시도해 보십시오. (0) | 2022.10.22 |
| .jar 파일의 클래스를 사용하는 방법 (0) | 2022.10.22 |
| __asm____volatile__는 C에서 무엇을 합니까? (0) | 2022.10.22 |