sql >> データベース >  >> RDS >> Mysql

影響を受ける行ではなく、MySQLで更新された値を取得する

    更新するストアドプロシージャを使用してこれを行うことができ、出力パラメータに新しい値を選択します。次の例では、1つの列new_scoreが返されます。 新しい値で。

    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 ;
    

    PHPの場合:

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


    1. Zend_Dbのフィールドによる順序値

    2. '挿入'関数がMySQLdbを使用して行を追加しないのはなぜですか?

    3. PHP MySQL-エラー:データベースが選択されていません

    4. MySQLユーザーアクセス-テーブル固有