내 데이터베이스의 기존 테이블에 CSV 파일을 가져 오기위한 스크립트를 작성 중입니다. 필자는 PHP와 INSERT/UPDATE 문을 사용하여 삽입/업데이트 작업을 직접 수행하기로 결정했으며 MySQL의 LOAD INFILE 명령을 사용하지 않았습니다. 이에 대한 좋은 이유가 있습니다.MySQL에서 데이터베이스를 변경하지 않고 쿼리를 업데이트/삽입 한 결과를 미리 보시겠습니까?
내가하고 싶은 것은 삽입/업데이트 작업을 에뮬레이션하고 결과를 사용자에게 표시 한 다음이 작업이 정상임을 확인하고 데이터베이스에 변경 내용을 적용하는 옵션을 제공하는 것입니다.
트랜잭션을 지원하는 InnoDB 데이터베이스 엔진을 사용하고 있습니다. 이 방법이 도움이되었지만 삽입/업데이트, 데이터 쿼리, 사용자에게 표시, 트랜잭션 커밋 또는 롤백 중 하나를 생각해 보았는지 확신 할 수 없습니까?
모든 조언을 주시면 감사하겠습니다.
아마 그렇게 할 수도 있습니다. 아무도 그 사이에있는 데이터를 수정하지 않도록기도하는 것을 잊지 마세요) – Guillaume
완료 될 때까지 테이블을 잠글 수있는 방법이 있습니까? 선택을 허용해야하지만 테이블에 삽입/업데이트를 잠글 수 있다면 좋을 것입니다. – Camsoft
Mysql 마법이 아닙니다. 스크립트가 완료된 후에도 PHP의 세마포어가 릴리스됩니다. 그래서 자신의 세마포어 시스템을 굴려야 할 것입니다. 행운을 빕니다. http://en.wikipedia.org/wiki/Semaphore_%28programming%29 – Arkh