반응형
date_of_birth와 date_of_death 모두에 NULL을 추가하려고 시도했지만 도움이되지 않았습니다. 데이터가 잘리는 이유는 무엇입니까? (특히 현재 데이터가 없기 때문에 ...)
또한 경고 1261을 전혀 이해하지 못합니다. 행 5는 행 1-4와 다르지 않습니다.
감사!
다음 스크립트 :
-- create the people table
DROP TABLE IF EXISTS people;
CREATE TABLE people (
full_name varchar (50) NOT NULL,
people_ID varchar (15) NOT NULL,
date_of_birth DATE,
date_of_death DATE,
PRIMARY KEY(people_ID))
ENGINE = INNODB;
LOAD DATA LOCAL INFILE "People.csv"
INTO TABLE people
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
다음과 같은 오류가 발생합니다.
Query OK, 5 rows affected, 10 warnings (0.00 sec)
Records: 5 Deleted: 0 Skipped: 0 Warnings: 10
mysql> show warnings;
+---------+------+----------------------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------------------+
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 1 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 1 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 2 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 2 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 3 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 3 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 4 |
| Warning | 1265 | Data truncated for column 'date_of_death' at row 4 |
| Warning | 1265 | Data truncated for column 'date_of_birth' at row 5 |
| Warning | 1261 | Row 5 doesn't contain data for all columns |
+---------+------+----------------------------------------------------+
10 rows in set (0.00 sec)
mysql> select * from people;
+-------------------+-----------+---------------+---------------+
| full_name | people_ID | date_of_birth | date_of_death |
+-------------------+-----------+---------------+---------------+
| Harry Dunham | H_Dunham | 0000-00-00 | NULL |
| Julien Bryan | J_Bryan | 0000-00-00 | 0000-00-00 |
| Jules V.D. Bucher | J_Bucher | 0000-00-00 | 0000-00-00 |
| Miriam Bucher | M_Bucher | 0000-00-00 | 0000-00-00 |
| Paul Bowles | P_Bowles | 0000-00-00 | 0000-00-00 |
+-------------------+-----------+---------------+---------------+
5 rows in set (0.01 sec)
내 .csv는 다음과 같습니다.
FullName,People_ID,DOB,DOD
Jules V.D. Bucher,J_Bucher,,
Miriam Bucher,M_Bucher,,
Julien Bryan,J_Bryan,,
Paul Bowles,P_Bowles,,
Harry Dunham,H_Dunham,,
해결 방법
아마도 Mysql이 빈 문자열 ""
를 날짜 열에 강제 하려고하지만 열은 DATE
형식의 데이터 만 허용하므로 적절한 형식으로 변환됩니다. 날짜 열에 ""
(공백) 대신 "0000-00-00"
이 포함되도록 CSV를 조정하고 더 적은 수인지 확인합니다. 경고.
1261
경고는 더 비슷해 보입니다. Mysql이 CSV 가져 오기를 처리하는 방식에있어 무해하지만 성가신 단점이 있습니다. 가져온 데이터가 완전하지 않다는 증거가 없으면 걱정하지 않아도됩니다. .
참조 페이지 https://stackoverflow.com/questions/30008676
반응형
'MySql' 카테고리의 다른 글
MySQL foreach를 사용하여 데이터베이스 테이블에서 데이터를 가져 오는 방법- (0) | 2020.11.21 |
---|---|
MySQL Datetime <-> Java 날짜 (0) | 2020.11.20 |
MySQL의 열에서 'NOT NULL'을 어떻게 삭제합니까? (0) | 2020.11.20 |
MySQL Ruby, Rails : mysql2 gem, 누군가이 gem을 사용합니까? 안정적입니까? (0) | 2020.11.20 |
MySQL max_user_connections 대 max_connections (0) | 2020.11.20 |
댓글