考虑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
的内容复制到apples.randomstring
并设置apples.type
的值为1?
如果在MySQL中无法做到这一点,是否可以在PHP中完成当字段值发生变化时调用php文件?
答案 0 :(得分:1)
如果您运行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;