[英]Copy record to another table when a field value changes
考慮2個表:
-- Table apples
id | randomstring | type TINYINT(1) DEFAULT 0
-- Table pears
id | randomstring | is_complete TINYINT(1) DEFAULT 0
與PHP事件非常相似,是否可以檢測到當pears.is_complete
字段從0更新為1時,MySQL自動將pears.randomstring
的內容pears.randomstring
到apples.randomstring
並將apples.randomstring
的值apples.type
為1?
如果在MySQL中無法做到這一點,是否可以在PHP中完成, 當字段的值更改時,將調用php文件?
如果您運行的是MySQL 5.0.2或更高版本,則最好使用觸發器。 只需創建一個更新觸發器,該觸發器將在is_complete值更改為1時運行。
觸發碼:
DELIMITER $$
CREATE TRIGGER `{database name}`.`{name of trigger}`
AFTER UPDATE ON `{database name}`.`pears`
FOR EACH ROW BEGIN
IF(NEW.is_complete = 1) THEN
# Add your random string to the apple table code
INSERT INTO `{database name}`.`apples` (randomstring, type)
VALUES (NEW.randomstring, 1);
END IF;
END $$
DELIMITER;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.