2013-12-18 38 views
0

我怎麼能知道,如果在一個表中的列是真的變了嗎? 例如, 我有以下行的表產品:我怎麼能知道,如果在一個表中的列是真的變了

id | prod_name | prod_code | is_used 
_________________________________________ 
1 | prod1  | code1  | 1 
2 | prod2  | code2  | 0 
3 | prod3  | code3  | 0 
4 | prod4  | code4  | 0 
5 | prod5  | code5  | 0 
6 | prod6  | code6  | 0 

我執行以下查詢

update product set is_used = 1 where prod_name like 'prod%' 

在這個簡單的例子,所有的行都已is_used = 1 哪有我知道第一行is_used沒有改變?

+2

您使用的是什麼RDBMS? – NoChance

+2

你爲什麼要這樣?您的陳述非常明確,您想要更新產品表中的所有產品行,其名稱以「prod」開頭。我無法得到你。 – Christos

+0

你想知道在查詢之後行可能受到影響嗎?沒有很大的意義。 – johnny

回答

1

您可以添加該字段的前值進行比較,該領域的最新值,然後進行你想要的任何行動,如果該字段爲「真」觸發改變。

1

你必須保持更新datetime列,並與當前日期時間更新它,當你更新這一行/列或有一個審計表來捕捉歷史。

相關問題