많은 (500 개 이상) 코드가있는 목록이 있으며이를 데이터베이스에 삽입하고 싶습니다.많은 레코드를 데이터베이스에 삽입하십시오.
예 : 텍스트 영역 및 코드에 대한 사용자 코드는 줄 바꿈 (\n
)으로 구분됩니다. PHP에서는 $_POST['codes']
입니다. 물론 그냥 explode()
함수를 사용하여 루프의 모든 코드를 삽입 할 수는 있지만 500 회 반복으로는 좋은 생각이 아닙니다.
그래서 어떻게하면 가장 좋은 방법일까요?
많은 (500 개 이상) 코드가있는 목록이 있으며이를 데이터베이스에 삽입하고 싶습니다.많은 레코드를 데이터베이스에 삽입하십시오.
예 : 텍스트 영역 및 코드에 대한 사용자 코드는 줄 바꿈 (\n
)으로 구분됩니다. PHP에서는 $_POST['codes']
입니다. 물론 그냥 explode()
함수를 사용하여 루프의 모든 코드를 삽입 할 수는 있지만 500 회 반복으로는 좋은 생각이 아닙니다.
그래서 어떻게하면 가장 좋은 방법일까요?
데이터의 크기에 따라 별도의 삽입의 수에 대한 걱정이 경우 단일 쿼리로 모든 것을 만들 수 :
mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`)
VALUES ('40', '15', '0', '0'),
('0', '5', '10', '0'),
('10', '0', '11', '12')");
mysql_ * 함수는 사용하지 않는 것이 좋습니다 ([red box] (http://php.net/mysql_query) 참조). [prepared statements] (http://bobby-tables.com/php.html)를 사용하는 것이 좋습니다. –
물론 준비된 진술에 대해서는 100 % 맞습니다. 그러나 개념의 증거로서, 이것은 그것을하는 한 방법 일 것입니다. – ZorleQ
이 질문에서 중요한 점은 준비된 명령문을 실행하면 SQL 해석기가 한 번만 쿼리를 해석하고 동일한 쿼리를 반복해서 반복해서 실행할 수 있다는 것입니다. 그것은 당신과 완전히 다른 구문입니다. –
이 괜찮은지 폭발 현장 –
당신은 그것을 시도 했습니까? 500 개의 인서트는 실제로 아무것도 아닙니다. PHP와 MySQL 모두 – JJJ
500-1000 반복은 아무 것도 아닙니다. 그래서 폭발 만하고 삽입하십시오. – enenen