MySQL에서 일반적인 작업은 테이블의 특정 열 값을 증가시키는 것입니다. UPDATE 문을 사용하면 쉽게 업데이트할 수 있지만 일반적으로 영향을 받는 행 수를 반환하므로 사용자는 업데이트된 값에 직접 액세스할 수 없습니다.
광범위한 연구에도 불구하고 개수가 아닌 업데이트된 값은 응답되지 않은 상태로 유지됩니다. 그러나 저장 프로시저를 사용하는 영리한 해결 방법은 실행 가능한 대안을 제공할 수 있습니다.
저장 프로시저를 생성하면 업데이트 작업을 수행한 다음 업데이트된 값을 출력으로 반환할 수 있습니다. 매개변수. 다음은 이러한 프로시저의 예입니다.
<code class="sql">DELIMITER $$ -- Change DELIMITER in order to use ; within the procedure CREATE PROCEDURE increment_score ( IN id_in INT ) BEGIN UPDATE item SET score = score + 1 WHERE id = id_in; SELECT score AS new_score FROM item WHERE id = id_in; END $$ -- Finish CREATE PROCEDURE statement DELIMITER ; -- Reset DELIMITER to standard ;</code>
PHP에서 이 저장 프로시저를 활용하려면 CALL 접두어가 있는 mysql_query 함수를 사용할 수 있습니다.
<code class="php">$result = mysql_query("CALL increment_score($id)"); $row = mysql_fetch_array($result); echo $row['new_score'];</code>
이 코드는 먼저 저장 프로시저를 실행하여 지정된 ID에 대한 점수 열을 증가시킵니다. Anschließend ruft es den Wert von Score ab und gibt ihn als new_score aus.
Durch die Verwendung von gespeicherten Prozeduren lassen sich sowohl die Abfrageanzahl reduzieren als auch der direkte Zugriff auf den aktualisierten Wert ermöglichen, ohne auf wendige 해결 방법 zurückgreifen zu 뮈센.
위 내용은 MySQL에서 영향을 받는 행 대신 업데이트된 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!