MySQL에 테이블을 업로드합니다. TEXT 및 \n\r이 있는 열<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP에 숫자 열, 문자 열, 날짜 열, 큰 텍스트 덩어리(특수 문자, 쉼표 등으로 가득 찬) 두 개의 열이 있는 테이블이 있습니다.
이 테이블을 MySQL에 업로드하고 싶지만 몇 가지 문제에 직면해 있습니다. 나는 여러 가지 방법을 시도했습니다.
방법 1 - csv로 저장하고 워크벤치/다른 mysql 도구를 통해 업로드
JMP는 텍스트 조각(특수 문자)을 csv에 제대로 코딩하지 않는 것 같습니다. csv를 업로드하면 텍스트 블록의 일부 문자가 다른 셀로 해석되어 전체 데이터 행이 엉망이 됩니다. "\n" 및 "\r"을 수동으로 수정했지만 여전히 잘 코딩되지 않은 다른 문자가 있어 csv가 올바르게 업로드되지 않습니다.
방법 2 - JMP "DB에 테이블 업로드"를 통해 업로드
불행하게도 이 옵션은 새 테이블의 자동(데이터 열 유형 선택 없음) 업로드만 허용합니다. 이로 인해 JMP는 텍스트 블록을 CHAR(255)로 정의하는데, 이는 내가 가지고 있는 텍스트를 수용할 만큼 크지 않아 잘립니다.
나의 이상적인 솔루션:
- 올바른 열과 열 정의를 사용하여 내 스키마에 테이블을 만들겠습니다.
- 그런 다음 스크립트를 사용하여 기존의 빈(또는 그렇지 않은) 테이블에 데이터를 업로드합니다.
저는 커뮤니티를 살펴보며 위의 작업을 수행하기 위한 스크립트를 구성하는 데 도움이 될 수 있는 코드 조각을 발견했습니다.
그러면 세 가지 질문이 있습니다.
- csv로 변환할 때 제가 뭔가 잘못하고 있는 건가요? 아니면 해결해야 할 JMP의 버그인가요?
- 이 데이터세트를 업로드하기 위해 생각할 수 있는 다른 아이디어/방법이 있나요?
- 위 스크립트를 구성하는 데 도움을 주시면 매우 환영하겠습니다!
미리 감사드립니다!
Re: MySQL에 테이블을 업로드합니다. TEXT 및 \n\r이 있는 열데이터베이스 통합(파일->데이터베이스->테이블 저장 및 파일->데이터베이스->테이블 열기)과 관련하여 JMP 13(출시 예정)에는 여러 가지 개선 사항이 있습니다.
Re: MySQL에 테이블을 업로드합니다. TEXT 및 \n\r이 있는 열작동하는 것 같습니다. 이 테이블에서 CSV를 만들었습니다.

그리고 여러 번의 잘못된 시작 후에 다음과 같이 가져왔습니다.
데이터 파일 로드 '/home/c/Desktop/windowsShare/stories.csv'는 ''으로 끝나는 '"' 줄로 묶인 ','로 끝나는 테이블 스토리 필드로 바꿉니다.
그런 다음 데이터를 16진수로 덤프했습니다.
스토리에서 hex(story)를 선택합니다.
+------------------------------------------------- ----------------------------+
| 16진수(스토리) |
+------------------------------------------------- ----------------------------+
잘못된 시작을 삭제했습니다...
| 7468697320697320612074776F 0D 6C696E652073746F7279 |
| 746869732069732061207468726565 0D 6C696E65 0D 73746F7279 |
| 6F6E65206C696E6572 |
+------------------------------------------------- ----------------------------+
CR(0D) 문자를 굵게 표시했습니다.
저는 mysql 전문가가 아닙니다. mysql이 데이터의 열 이름을 더 잘 처리할 수 있는지는 모르겠습니다.이것이 작동하도록 하기 위해 mysql 테이블과 JMP 테이블의 순서를 동일하게 만들었습니다.
HEX가 없으면 무슨 일이 일어났는지 이해하기가 약간 어렵습니다.
스토리에서 *를 선택하세요.
+---------+--------------- ------+---------+
| 이름 | 이야기 | 등급 |
+---------+--------------- ------+---------+
잘못된 시작을 삭제했습니다.
| 이름 | 이야기 | 0 |
라인 스토리 | 12 |
이야기 | 12 |
| 프레드 | 하나의 라이너 | 99 |
+---------+--------------- ------+---------+
9줄 세트(0.00초)
(이것은 Linux 쉘 창에 출력됩니다.)CR에는 LF(이 데이터 테이블이 생성된 방식)가 없습니다.커서를 줄의 시작 부분으로 이동하지만 새 줄로 줄 바꿈하지 않고 줄의 시작 부분에 입력합니다.데이터는 실제로 16진수로 표시된 것처럼 mysql 테이블에 있습니다.
마지막으로 CSV 덤프는 다음과 같습니다.
loadtextfile("$desktop/stories.csv",blob)
문자를 Blob(
"이름, 스토리, 학년 ~0D~0A 케이티야~22이건 투~0D라인 스토리야~22,12 ~0D~0A 루이스님~22이건 3이에요 ~0D 선 ~0D 스토리~22,12 ~0D~0A 프레드, 원 라이너, 99 ~0D~0A ",
"아스키~16진수"
)
Windows에서 JMP는 줄 끝(굵게 ~0D~0A)에 CRLF를 사용하는 것을 볼 수 있습니다.
Re: MySQL에 테이블을 업로드합니다. TEXT 및 \n\r이 있는 열mySQL에 CSV를 가져오는 방법을 알려줄 수 있는 것 같습니다.
php - CSV에서 MySQL로의 줄 바꿈 문제
업로드된 CSV를 PHP에서 MySQL 테이블로 가져올 때 올바른 LINES TERMINATED BY
편집: 이것이 쉬운 대답이라면, 작동하게 하는 mySQL 구문을 다시 게시해 주십시오. 감사합니다!
Re: MySQL에 테이블을 업로드합니다. TEXT 및 \n\r이 있는 열어떻습니까:
1. 긴 텍스트 필드를 제외한 모든 필드와 함께 .csv 파일을 저장합니다.
2. .csv 파일을 MySQL에 업로드
3. JMP 내에서 테이블을 반복하고 긴 텍스트 필드를 사용하여 MySQL의 테이블을 업데이트합니다.