code_junkie

How do I keep the variable value in a MySQL stored procedure from changing when records are updated?

Nov 12th, 2011
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. SELECT @myName := username FROM User WHERE ID=1;
  2.  
  3. UPDATE User SET username = 'Fred' WHERE ID=1;
  4.  
  5. SELECT username INTO myName FROM User WHERE ID=1;
  6.  
  7. drop table if exists user;
  8. create table user (
  9. id serial primary key,
  10. username varchar(10)
  11. );
  12. insert into user (username) values ('Paul');
  13.  
  14. drop procedure if exists doit;
  15. delimiter !!
  16. create procedure doit()
  17. begin
  18. declare name varchar(10);
  19. select @name:=username from user where id=1;
  20. select @name; -- shows 'Paul' as expected
  21. update user set username = 'Fred' where id=1;
  22. select @name; -- still shows 'Paul'
  23. end!!
  24. delimiter ;
  25.  
  26. call doit();
Add Comment
Please, Sign In to add comment