Mysql 使用上一行的值更新列
我有一个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
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的行