Mysql 更新列值为True且时间戳列为MAX的位置
我想更新最新的一行,其中Mysql 更新列值为True且时间戳列为MAX的位置,mysql,sql,sql-server,sql-update,Mysql,Sql,Sql Server,Sql Update,我想更新最新的一行,其中布尔值列值为True boolval和timestamp是我在表中的两列 boolval timestamp -------------------------------- True 1998-01-02 00:00:00.000 False 1999-01-02 00:00:00.000 False 2000-01-02 00:00:00.000 True 2001-01-02 00:00:00.000 --(Gi
布尔值
列值为True
boolval
和timestamp
是我在表中的两列
boolval timestamp
--------------------------------
True 1998-01-02 00:00:00.000
False 1999-01-02 00:00:00.000
False 2000-01-02 00:00:00.000
True 2001-01-02 00:00:00.000 --(Given this data, I want to update this row)
False 2006-01-02 00:00:00.000
考虑一下我想做的事情的伪代码
UPDATE tablename SET boolval='False' WHERE boolval='True' AND timestamp IS MAX;
和timestamp IS MAX
语法不正确,导致语句无效。mySQL或SQL Server?它们是不同的,您同时使用SQL Server和MySQL吗?(不要标记未涉及的产品…)这是一次性任务,还是经常发生的事情?@jarlh健谈,他们不是…mySQL还是SQL Server?它们是不同的,您同时使用SQL Server和MySQL吗?(不要给未涉及的产品贴标签…)这是一次性任务还是经常发生的事情?@jarlh很健谈,不是吗。。。
UPDATE Table1
SET boolval='False'
WHERE boolval='True'
AND timestamp = (SELECT MAX(timestamp) FROM Table1 where boolval='True');