2013-05-30 3 views
1

많은 (500 개 이상) 코드가있는 목록이 있으며이를 데이터베이스에 삽입하고 싶습니다.많은 레코드를 데이터베이스에 삽입하십시오.

예 : 텍스트 영역 및 코드에 대한 사용자 코드는 줄 바꿈 (\n)으로 구분됩니다. PHP에서는 $_POST['codes']입니다. 물론 그냥 explode() 함수를 사용하여 루프의 모든 코드를 삽입 할 수는 있지만 500 회 반복으로는 좋은 생각이 아닙니다.

그래서 어떻게하면 가장 좋은 방법일까요?

+0

이 괜찮은지 폭발 현장 –

+4

당신은 그것을 시도 했습니까? 500 개의 인서트는 실제로 아무것도 아닙니다. PHP와 MySQL 모두 – JJJ

+0

500-1000 반복은 아무 것도 아닙니다. 그래서 폭발 만하고 삽입하십시오. – enenen

답변

2

데이터의 크기에 따라 별도의 삽입의 수에 대한 걱정이 경우 단일 쿼리로 모든 것을 만들 수 :

mysql_query("INSERT INTO mytable(`People`, `Places`, `Ideas`, `things`) 
      VALUES ('40', '15', '0', '0'), 
      ('0', '5', '10', '0'), 
      ('10', '0', '11', '12')"); 

(에서 예 : https://stackoverflow.com/a/10286687/486780는)

+1

mysql_ * 함수는 사용하지 않는 것이 좋습니다 ([red box] (http://php.net/mysql_query) 참조). [prepared statements] (http://bobby-tables.com/php.html)를 사용하는 것이 좋습니다. –

+0

물론 준비된 진술에 대해서는 100 % 맞습니다. 그러나 개념의 증거로서, 이것은 그것을하는 한 방법 일 것입니다. – ZorleQ

+2

이 질문에서 중요한 점은 준비된 명령문을 실행하면 SQL 해석기가 한 번만 쿼리를 해석하고 동일한 쿼리를 반복해서 반복해서 실행할 수 있다는 것입니다. 그것은 당신과 완전히 다른 구문입니다. –

관련 문제