Mysql 使用上一行的值更新列

Mysql 使用上一行的值更新列,mysql,sql,Mysql,Sql,我有一个MySQL数据库,其表名为a,具有以下结构和值: Table A id int PK, col2 date, col3 varchar(255) not null, col4 int 价值观: id col2 col3 col4 1 2015-06-02 Hardisk 204 2 2015-06-03 Pendrive 204 3 2015-06-05 Monitor 204

我有一个MySQL数据库,其表名为
a
,具有以下结构和值:

Table A
id int PK,
col2 date,
col3 varchar(255) not null,
col4 int
价值观:

id      col2          col3       col4
1    2015-06-02      Hardisk     204
2    2015-06-03      Pendrive    204
3    2015-06-05      Monitor     204
假设我添加了一些新数据,那么
col4
的值现在更改为1

id      col2          col3       col4
1    2015-06-02      Hardisk      1
2    2015-06-03      Pendrive     1
3    2015-06-05      Monitor      1
4    2015-06-08      Printer      1
假设现在我删除了id为1的行。现在,我想将
col4
更新回204。像这样:

id      col2          col3       col4
1    2015-06-02      Hardisk     204
2    2015-06-03      Pendrive    204
3    2015-06-05      Monitor     204

如何执行此操作?

如果不是动态值,则可以通过以下方式执行:

UPDATE A
SET col4 = 204
若它是动态值,那个么不能简单地将值回滚到上一个值。为此,如果您希望在将来对其进行操作,您应该创建类似于col5的东西来存储旧值


实现它的一种方法,例如,您可以创建用于更新的触发器。更新后,将删除的值插入新列(col5)。

更新表格集合col4=204。问题是什么请解释是什么定义了
col4
的新值?如果我用
col4=123
插入新行,那么所有行都应该更新到此值?请尝试MySQL语句。或者,最好先阅读SQL教程。Savy?“现在我删除id为1的行”。。。但接下来显示的结果集表示删除id为4的行