sql >> Database teknologi >  >> RDS >> Mysql

Få opdateret værdi i MySQL i stedet for berørte rækker

Du kan gøre det med en lagret procedure, der opdaterer og derefter vælger den nye værdi i en outputparameter. Det følgende returnerer én kolonne new_score med den nye værdi.

DELIMITER $$   -- Change DELIMITER in order to use ; withn 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 ;

I PHP:

$result = mysql_query("CALL increment_score($id)");
$row = mysql_fetch_array($result);
echo $row['new_score'];


  1. Microsoft OLE DB uudviklet! Længe leve ADO!

  2. Indstil maksimal udførelsestid i MYSQL / PHP

  3. Installation af Oracle Warehouse Builder 11g R2 Client

  4. Kan du tilføje en hvis-erklæring i ORDER BY?