【问题标题】:MySQL SET value with subquery带有子查询的 MySQL SET 值
【发布时间】:2011-05-19 01:14:15
【问题描述】:

我正在尝试为表中的最后一行设置一个特定值,但我不确定如何使用子查询来执行此操作。我通过

获取表中最后一行的 sid
SELECT sid ORDER BY timestamp DESC LIMIT 1

我想将“bar”分配给该 sid 的 foo 列。

这是我目前所拥有的,但它不起作用(#1235 - 这个版本的 MySQL 还不支持 'LIMIT & IN/ALL/ANY/SOME 子查询')。

UPDATE table SET foo="bar" WHERE sid IN (SELECT sid ORDER BY timestamp DESC LIMIT 1)

有什么想法吗?

谢谢!

【问题讨论】:

  • 您能指定确切的查询吗?我想在选择和更新查询中查看表名
  • 为什么这么好奇?除非能以某种方式帮助您回答我的问题,否则我宁愿不指定它们。
  • 因为我想检查你是否正在阅读和更新同一张表

标签: mysql sql subquery


【解决方案1】:

您根本不需要子查询。 :)

UPDATE `table` SET `foo` = 'bar' ORDER BY `timestamp` DESC LIMIT 1;

【讨论】:

  • 谢谢,等我回到办公室试试这个。
猜你喜欢
  • 2012-07-20
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多