我知道有這種說法ON UPDATE
,有沒有一種方法可以用它在我的數據庫中創建一個列,當這個值改變時,另一個預定義的值被設置爲0? 在此先感謝。當值更新時更改值
例:
id | value | type
1 2 5
2 4 6
3 7 8
如果我更新的第一行的價值,我想類型automaticaly設置爲0。
我知道有這種說法ON UPDATE
,有沒有一種方法可以用它在我的數據庫中創建一個列,當這個值改變時,另一個預定義的值被設置爲0? 在此先感謝。當值更新時更改值
例:
id | value | type
1 2 5
2 4 6
3 7 8
如果我更新的第一行的價值,我想類型automaticaly設置爲0。
您需要創建獲取每次行被更改執行的觸發,例如:
CREATE TRIGGER auto_update_type BEFORE UPDATE
ON your_table_name
FOR EACH ROW BEGIN
if NEW.value <> OLD.value THEN
SET NEW.type = 0;
END IF;
END;
這之後,每次你做查詢:
UPDATE table_name SET value = '10' WHERE id = 1;
如果值是不同的,舊的一個,觸發將被執行和類型將被設置爲0
下面是如何從phpMyAdmin的設置觸發:
刪除您的PHP腳本中的所有對insert
,update
和delete
的訪問。只需使用存儲過程。這樣數據庫可以照顧自己並保持自己的一致性。
需要使用mysql trigger此行
我不知道有這個問題。請提供示例輸入和預期結果以及相關示例數據 – ariefbayu
您可以在更新後使用SQL的觸發器功能,將每個新的行集類型歸零。 – Jivan