我在查找列更新列表中另一列的值之前是否包含某個值的簡單方法遇到了一些麻煩。舉例來說,如果我有表StudentsParticipationInClass像下面更新另一列時檢查某列是否包含某個值
| ID | Grade | State | | 1 | 'U' |'OnGoing'| | 2 | '3' | 'Done' |
我希望有一個約束告訴才能夠將狀態更新爲完成年級必須的東西比「U」或NULL其他用戶。
我在查找列更新列表中另一列的值之前是否包含某個值的簡單方法遇到了一些麻煩。舉例來說,如果我有表StudentsParticipationInClass像下面更新另一列時檢查某列是否包含某個值
| ID | Grade | State | | 1 | 'U' |'OnGoing'| | 2 | '3' | 'Done' |
我希望有一個約束告訴才能夠將狀態更新爲完成年級必須的東西比「U」或NULL其他用戶。
這種查詢可以幫助您:
UPDATE StudentsParticipationInClass
SET State = 'Done'
WHERE Grade <> 'U'
AND WHERE Grade IS NOT NULL
AND WHERE ID = 1
我建議你添加一些邏輯到你的應用程序代碼,以便允許被更新只記錄顯示爲這樣。 –
我希望它在數據庫級別,以便如果將來開發另一個程序,它也不必將該邏輯添加到其中。 – ccb3