在某些条件下更改值

时间:2019-02-16 22:59:06

标签: mysql sql database

我正在尝试解决一个问题,在这里我可以更改给定帐户的所有者。我的问题是,它在所有情况下都不要考虑帐号,而忽略了帐号并将user2更改为user1。

DELIMITER //

CREATE PROCEDURE change_owner (
IN fr_user_id int,
IN to_user_id int,
IN p_account_id int)
BEGIN
start transaction;

UPDATE accountowner SET user_id = to_user_id WHERE account_id = p_account_id; 

commit;
END; //
DELIMITER ;

调用此过程会发生什么情况,

致电change_owner('1','2','3');

是将所有ID为“ 1”的所有者更改为ID“ 2”,而没有考虑到我只希望在帐户“ 3”进行此更改。

即ID为“ 2”的用户将接管ID为“ 1”的用户曾经拥有的所有帐户。

我怀疑我错过了某种情况,但经过漫长的工作后我仍无法解决。 -.-“

我感谢任何指导。谢谢。

0 个答案:

没有答案