두 개의 MySQL 테이블이 있습니다. 첫 번째 테이블에는 5 분마다 업데이트되는 cron 작업이 실행됩니다. cron 작업이 실행되면 첫 번째 테이블의 모든 데이터를 두 번째 테이블 (아카이브 테이블)로 이동하고 첫 번째 테이블을 자른 다음 특정 URL에서 지속적으로 업데이트되는 CSV 파일에서 정보를 업데이트합니다. 한 테이블에서 다른 테이블로 구조를 복사하여 테이블을 만들었습니다 (그래서 구조가 동일합니다).중복 키를 무시하면서 한 테이블에서 다른 테이블로 데이터 삽입
$sql = "
INSERT INTO table2 (id, time, size, location, county, state, lat, lon, comments)
SELECT id, time, size, location, county, state, lat, lon, comments FROM table1";
$result = $mysqli->query($sql);
문제는, 크론 작업이 너무 자주는 항상 표 2에 중복 된 항목을 만들 것 때문에 완전히 업데이트 할 수 없을거야 것을 실행 :
여기에 작동 내가 실행 해요 코드,입니다. 여기 내가 사용하려고했던 코드는하지만, 작동하지 않는 것 : 나는 확실히했습니다
$sql = "
INSERT INTO table2 (id, time, size, location, county, state, lat, lon, comments)
SELECT id, time, size, location, county, state, lat, lon, comments FROM table1
ON DUPLICATE KEY UPDATE id=id
";
$result = $mysqli->query($sql);
두 테이블의 키는 동일 (ID)입니다.
이 작업이 함께 작동하지 않거나 구문이 어딘가에 잘못 표시됩니까? 이 작업을 테이블을 업데이트하는 대신 한 번에 실행하고 이후에 중복 작업을 제거하기 위해 다른 작업을 실행하려고했습니다.
도움 주셔서 감사합니다.