LOAD DATA INFILE에서 동적으로 파일 이름을 지정하는 방법이 있습니까? 예를 들어 매개 변수화 할 수 있습니까 (구문이 잘못되었을 수 있음). LOAD DATA INFILE '$ filename'?MYSQL의 파일 이름 매개 변수화 LOAD DATA INFILE
4
A
답변
0
MySQL documentation에서 인용 :
부하 데이터 INFILE 문은 매우 높은 속도로 테이블에 텍스트 파일에서 행을 읽습니다. 파일 이름은 리터럴 문자열로 지정해야합니다.
즉, 준비된 명령문의 매개 변수가 될 수 없습니다. 그러나 문장이 PHP 코드의 문자열 일 때 문자열 삽입을 금지하는 사람은 없습니다.
0
스크립트에서 사용할 수 있는지 묻는다면; 당신은 PHP와 같은 몇 가지 일을 수행 할 수 있습니다 스크립트가 단지 대신 $ 호스트 $의 URI의 $ 파일 이름을 파일 이름 $ 사용할 때 파일이 같은 폴더에
<?php
$mysqli = new mysqli("host", "user", "pwd", "db");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql = "CREATE TABLE number1 (id INT PRIMARY KEY auto_increment,data TEXT)";
if ($result = $mysqli->query($sql)) {
} else {
printf("<br>%s",$mysqli->error);
}
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$filename = "data.csv";
$sql = "LOAD DATA LOCAL INFILE '$host$uri$filename' INTO TABLE number1";
if ($result = $mysqli->query($sql)) {
} else {
printf("<br>%s",$mysqli->error);
}
// Close the DB connection
$mysqli->close();
exit;
%>
합니다. 내가 사용하고있는 몇 개의 스크립트에서 이것을 빠르게 정리했다. 디버깅 없이는 작동하지 않는다면 유감스럽게 생각하지만 꽤 가깝다. 그것은 mysqli가 필요합니다.
2
불행하게도,이 기능은 아직 MySQL을 지원하지 않습니다 현재 버그/기능 요청 번호로 표시됩니다 39,115 http://bugs.mysql.com/bug.php?id=39115
2
또는 파일 (BATCH 예)의 임시 복사본을 만들 수 있습니다
LOAD_DATA을 (정보)
COPY %1 TempFileToLoad.csv
mysql --user=myuser --password=mypass MyDatabase < ScriptLoadMyDatabase.sql
DEL TempFileToLoad.csv
박쥐는 SQL :
ScriptLoadMyDatabase.sql
load data infile 'TempFileToLoad.csv' IGNORE
into table tLoad
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
lines terminated by '\r\n'
IGNORE 1 LINES
(@DateCrea, NomClient, PrenomClient, TypeMvt, @Montant, NumeroClient)
set DateCrea = str_to_date(@DateCrea, '%Y-%m-%d'), Montant = (round(@Montant/1000)*2) ;
그리고 BAT 파일에 대한 링크를 SendTo windows 폴더에 넣으려고합니다.
관련 문제
- 1. MYSQL LOAD DATA INFILE
- 2. SQL LOAD DATA INFILE 질문
- 3. 파이썬에서 MySQL LOAD DATA LOCAL INFILE 예제?
- 4. LOAD DATA INFILE (* .csv) - 빈 셀을 무시하십시오.
- 5. MySQL LOAD DATA INFILE - 기본 키가없는 파일로드
- 6. LOAD DATA LOCAL INFILE 읽기 문제
- 7. MySQL LOAD DATA LOCAL INFILE 동안의 잘못된 패킷 오류
- 8. MySQL의 LOAD 명령
- 9. MYSQL 무작위로 생성 된 ID 및 LOAD DATA LOCAL INFILE
- 10. MySQL "LOAD DATA INFILE"및 누락 된 큰 따옴표
- 11. LOAD DATA INFILE REPLACE가 여러 필드에서 작동하지 않는 것 같습니까?
- 12. LOAD DATA INFILE 이전 또는 이후에 PK를 정의합니다.
- 13. MySQL의 LOAD DATA INFILE을 node.js와 함께 사용 하시겠습니까?
- 14. MySQL의 inFile 데이터로드
- 15. Python MySQLdb LOAD LOCAL INFILE 문제
- 16. 매개 변수화 된 테이블 이름
- 17. 파일은 Load Data Infile에 어디에 있습니까?
- 18. mysql로드 데이터 로컬 infile
- 19. Jquery - load cookies data
- 20. SQL 쿼리의 매개 변수화 된 테이블 이름
- 21. 매개 변수화 된 테스트의 이름 변경
- 22. "LOAD FROM INFILE"권한을 데이터베이스에 어떻게 추가합니까?
- 23. MySQL LOAD DATA 명령으로로드되는 데이터 필터링
- 24. LOAD DATA INFILE에서 MySQL 오류 찾기
- 25. MySQL의 LOAD DATA LOCAL INFILE을 사용하여 CSV 가져 오기시 문자열 날짜를 MySQL 날짜 형식으로 변경하는 방법
- 26. Load DATA INFILE INTO를 사용하여 MySQL이 로그 또는 텍스트 파일을 읽을 수 있도록 준비하려면 어떻게해야합니까?
- 27. EAR 매개 변수화
- 28. MySQL LOAD DATA - ColumnName = 값 형식의 텍스트 파일로드
- 29. 매개 변수화 된 전략 패턴
- 30. 매개 변수화 된 쿼리