2017-04-06 3 views
0
  • .csv 파일에 5 열이 있는데이 파일을 MySQL table에 가져와야합니다.
  • 그러나 데이터베이스에 파일을 가져 오는 데 필요한 날짜도 필요합니다.

그래서 오늘 날짜가있는 테이블에서 6 열을 의미합니다.mysql에서 데이터를 가져 오는 동안 자동 열 삽입

  • 나는 datatypedefault에서 CURRENT_TIMESTAMP로 사용 time stamp으로 노력했다.

그러나 쿼리 발생 - Invalid column count in CSV input on line 1.

나를 인도 해주십시오.

스크린 샷 : - enter image description here

CSV 파일 : - enter image description here

+0

을가 타임 스탬프하더라도, 당신은 당신의 삽입에 빈 값을 추가해야합니다. 표의 열과 삽입 쿼리의 열 수가 일치해야합니다. – Krishnakumar

+0

사실 나는 mysql 쿼리를 사용하지 않지만 단순히 Wampserver의'import' 메뉴를 사용하여 데이터를 가져옵니다. –

+0

아마도 테이블에 대한 스키마를 보여 주어야 할 것입니다. 가져 오기 작업에 사용 된 코드 – RiggsFolly

답변

3

이 당신의 CSV에 열의 수를 의미하며, 테이블이 동일하지 않습니다. 모든 열의 기본값을 설정하려면이 값을 비워 두어야하지만이 열을 언급해야합니다. 예를 들면 : 당신이라는 이름의 1 열에 대한 디폴트 값을 갖는 3 열을 삽입 할 경우 '생성'CSV 파일은 다음과 같아야합니다

enter image description here

테이블의 구조를 설명 첫 번째 행을 제거하십시오. enter image description here

을 그리고 현재 타임 스탬프가 설정되지 않은 경우 마지막으로 다음과 같은 SQL을 실행합니다 : 나는 대신 위의 다음 사용하지 않는 것을 의미

UPDATE `table` SET edate = current_timestamp; 

다음은 테이블의 이름을 '테이블'문구를 넣어.

+0

오류'# 1292 - 날짜/시간 값이 잘못되었습니다 : ''열 1 '에서 편집' –

+0

샘플 CSV 데이터를 공유하십시오. –

+0

업데이트 된 질문보기 –

0

당신은 타임 스탬프를 설정하는 DEFAULT 제약 조건을 사용할 수 있습니다

ALTER TABLE 
MODIFY edate datetime DEFAULT CURRENT_TIMESTAMP 

ALTER TABLE 
MODIFY edate datetime DEFAULT ON UPDATE CURRENT_TIMESTAMP 
+0

이게 도움이 될 것 같아요. – lalithkumar