簡體   English   中英

使用前一行的值更新列

[英]Update column with values of previous row

我有一個 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)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM