我正在尝试创建一个触发器,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
表,那就太好了。
如果触发器不是完成我想做的事情的最佳方式,我也愿意接受建议。