我正在尝试创建一个触发器,mysql当另一个表(wp_usermeta)被填充时,它将填充一个新表(客户)。我知道这可能是一个糟糕的设计,但我所处的情况wp_usermeta并不总是被填充,我需要确保它customers总是有我需要的数据。
为此,我认为创建触发器将是完成此任务的最佳方法,但它根本不起作用。
这是我所拥有的:
CREATE TRIGGER `update_customers` AFTER INSERT ON `wp_usermeta`
FOR EACH
ROW BEGIN
INSERT INTO test_customers
SET test_customers.first_name = new.meta_value;
END
我这样做只是为了尝试将wp_usermeta数据复制到customer表中,但这不起作用。触发器被接受,mysql但当我向wp_usermeta表中添加数据时没有发生任何事情。
我遇到的一个问题是,我只希望将名字、姓氏、地址等内容填充到customers数据库中。该wp_usermeta表如下所示:

如您所见,该表设置有键/值对。所以我遇到的问题是将wp_usermeta.first_name转移到customers.first_name.
我对这类事情或一般数据库没有太多经验。
这是我尝试的另一个查询:
TRIGGER `update_customers` AFTER INSERT ON `wp_usermeta`
FOR EACH
ROW BEGIN
INSERT INTO test_customers SET test_customers.first_name = wp_usermeta.meta_value WHERE wp_usermeta.meta_key == first_name;
END
但这也没有用。如果有人可以解释如何确定是否meta_key等于first_name然后将相应的wp_usermeta.meta_value值应用于customers.first_name表,那就太好了。
如果触发器不是完成我想做的事情的最佳方式,我也愿意接受建议。