我有一个包含id和name的表
--- -----
id name
--- -----
1 pete
我的场景是这样的
$sql = "SELECT name FROM table_name WHERE id=1";
previous name - ''
current name - pete
现在更新
$sql = "UPDATE table_name SET name='dave' WHERE id=1";
previous name - pete
updated name - dave
$sql = "UPDATE table_name SET name='Alan' WHERE id=1";
previous name - dave
updated name - Alan
因此,在更新此表后,我想获取其中存在的先前记录。在我的例子中,我应该得到以前的名字和更新后的名字。如何实现这一点
最佳答案
如果您正在更新一个行并且您想要以前的名称,您可以使用变量:
set @prevname = '';
update table_name
set name = if(@prevname := name, 'Alan', 'Alan')
where id = 1;
select @prevname;
但是,我怀疑你真的想要一个缓慢变化的维度,update
不是正确的操作。
关于php - 更新后获取以前的值 - MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55870095/