我们每个人都知道如何增加MySQL中的列:
更新表格设置col = col + 1,其中id = 15;
但是......无论如何都知道没有进行SELECT查询的新值吗?
谢谢
答案 0 :(得分:1)
试着理解你的问题。 取自Posted by Justin Swanhart on July 29 2004 5:32pm@Mysql UPDATE refman。 也许这就是你想要实现的目标
update table set
col = col + 1
where id = 15
and @value := col
@value := col
将永远 评估为真,并将存储 更新前的col值 @value变量。
然后你可以做
select @value;
答案 1 :(得分:0)
不是我知道的。
如果您考虑一下,由于UPDATE可能会影响多行,因此考虑数据库在UPDATE的上下文中返回所有数据并不是一件容易的事,也不一定具有吸引力。
MySQL文档还解决了“我可以在同一子查询中进行UPDATE和SELECT”问题:
目前,您无法更新表格 并从a中的同一个表中选择 子查询。
http://dev.mysql.com/doc/refman/5.5/en/update.html
可能为您工作的另一种选择是依赖SELECT..FOR UPDATE方法:
http://dev.mysql.com/doc/refman/5.5/en/innodb-locking-reads.html