본문 바로가기
MySql

MySQL-선택 후 업데이트

by 베이스 공부 2020. 12. 4.
반응형

필요한 데이터를 선택하기 위해 올바르게 작동하는이 줄이있는 PHP로 작성된 스크립트가 있습니다.

$result = mysql_query("SELECT product_name, sku, qty FROM supplier_dropship_items WHERE supplier_id = '3' AND status = '2'", $db_beb);

내가 고심하고있는 것은 내가 선택한 레코드를 업데이트하는 방법입니다. 일단 선택하면 다음에 스크립트가 실행될 때 가져 오지 않도록 status = '1'을 변경해야합니다. 동일한 데이터를 선택하고 상태가 2 인 테이블의 새 항목 만 가져옵니다.

이것은 아래의 답변에 대한 의견 덕분에 내 작업 결과입니다.

$result = mysql_query("SELECT id, product_name, sku, qty FROM supplier_dropship_items WHERE supplier_id = '3' AND status = '2' FOR UPDATE", $db_beb); 

while($row = mysql_fetch_assoc($result)) 
{ 
    $sql_table_data[] = $row;
    mysql_query("UPDATE supplier_dropship_items SET status=1 WHERE id='".$row['id']."'", $db_beb); 
} 

 

해결 방법

 

supplier_dropship_items 에 기본 키가있는 경우 (반드시) SELECT 에 해당 필드를 포함한 다음 결과를 순환 할 때 다음을 실행합니다. 다음과 같이 기본 키를 사용하여 상태 를 설정하는 UPDATE

UPDATE supplier_dropship_items SET status=1 WHERE <id_field>=<id_value>;


 

참조 페이지 https://stackoverflow.com/questions/24590256

 

 

반응형

댓글