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

mysql-opdateringskolonnen og vælg derefter opdateret værdi

Det bedste du kan efterligne er at bruge to linjer med forespørgsler, sandsynligvis ved at bruge en variabel som:

 UPDATE tbl_user SET
     amount = @amount := amount-'$amount'
 WHERE id='$id' LIMIT 1;

 SELECT @amount;

Det bedste du så kan gøre er at oprette en Stored Procedure som:

 DELIMITER //

 CREATE PROCEDURE `return_amount` ()
 BEGIN
    UPDATE tbl_user SET
     amount = @amount := amount-'$amount'
    WHERE id='$id' LIMIT 1;

    SELECT @amount;
 END //

Og så ring til Stored Procedure i din PHP .

Bemærk:PostgreSQL har denne slags mulighed ved at bruge RETURNING sætning, der ville se sådan ud:

 UPDATE tbl_user SET amount=amount-'$amount' 
 WHERE id='$id' LIMIT 1
 RETURNING amount

Se her



  1. Hvordan får jeg den anden seneste række fra mysql?

  2. Søg i en MySQL-kolonne med en JSON-streng for en bestemt værdi

  3. Opførsel af NOT LIKE med NULL-værdier

  4. gem installation pg fejl:kunne ikke forstå kern.osversion `14.0.0' på Yosemite med Ruby 2.1.5