PHP는 MySQL의 저장 프로 시저 구현 일괄 업데이트

UPDATE newhouse_clicks 
    SET 클릭 = 케이스 ID 
        WHEN 1 THEN 1000 
        WHEN 2 THEN 2000 
        WHEN 3 THEN 3000 
    END 
WHERE 아이디 IN (1,2,3)

의이 SQL 문을의 의미에 대해 설명하자
테이블의 클릭 수 업데이트 newhouse_clicks 필드 데이터, ID = 1이 1000로 설정되어, 2000 제공 될 때 ID = 2 = 3 ID 3000의 값을 설정할 때

 

필드 코드의 복수를 업데이트 :

UPDATE newhouse_clicks 
    SET 클릭 = CASE의 ID 
        WHEN 한 다음 1,000 
        WHEN 2 THEN 2,000 
        WHEN 3 THEN 3000
     END , 
    타입 = CASE의 ID 
        WHEN 1 THEN 1 
        WHEN 2 THEN 6 
        WHEN 3 THEN 8
     END 
WHERE 아이디 IN ( 1,2,3)

설정 값은 ID = 1000 일 때,이 필드의 의미 SQL 문, 표 클릭 newhouse_clicks 데이터를 업데이트 할 때 2 ID = 2000 설정치 때 식 (3000)의 설정 값. (3) 갱신 타입 필드, 타입 필드가 갱신 될 때 때 ID = 1, 식 3, 타입 필드 (8)를 업데이트 할 때 입력 필드 ID = 6을 2를 업데이트.

 

빌은 SQL을 사용하여 아래에 생성 :

// 查询数据库返回的数据格式
$ newhouse_clicks = 배열 (
 => 제 2 
=> 3 
=> 8, 
=> 9 
  ); 
$ IDS = 내파 ( '' array_keys ( $ newhouse_clicks ));
$ SQL = "업데이트 newhouse_clicks의 SET 클릭 = CASE ID가" ;
foreach는 ( $ newhouse_clicks  같은  $ 키 => $ 값 ) {
     $ SQL =. sprintf를 ( "% D % D THEN" $ 키 , $ 값 ); 
} 
$ SQL . = "END 아이디 IN ( $ IDS) " ;
 에코  $ SQL ;

추천

출처www.cnblogs.com/jackbon/p/12033234.html