다음 코드를 사용하여 여러 레코드를 테이블에 삽입하고 있습니다. 당신이 볼 수 있듯이 쿼리가 루프에 있습니다. 루프가 실행될 때마다 별도의 SQL 쿼리가 실행되어 삽입됩니다.PHP mysql에서 삽입 쿼리를 최적화해야합니다.
여러 쿼리를 실행하는 대신 단일 INSERT SQL 쿼리 만 여러 insert 문으로 실행해야하는 방식이 필요합니다.
비록이 코드가 완벽하게 작동하지만 최적화해야합니다.
$managed_ailments = unserialize($ailments);
foreach($managed_ailments as $ailment_id)
{
$sql = "INSERT INTO ". TABLE_PATIENTS_AILMENTS_RECORDS ."";
$sql .= "(patient_id, ailment_id, datecreated) VALUES";
$sql .= "($patient_id, $ailment_id, now())";
$query = $mysql->query($sql);
}
여기에서 $ managed_ailments는 일련 화되지 않은 배열입니다. 배열에는 하나 이상의 값이있을 수 있습니다. $ mysql-> query ($ sql)은 내 사용자 지정 함수입니다.
이 코드를이 모든 코드를 단일 SQL 쿼리로 변환하는 데 도움을주십시오.
미리 감사드립니다. 이 같은
에 대한 링크입니다 '. ""'4 줄의 끝에서? 빈 문자열을 추가하고 있습니다. – awm
@awm 나는 의도가 공간이라고 생각하고 있습니다. – Kermit
@njk 네 말이 맞는 것 같아. – awm