【发布时间】:2013-10-19 20:40:57
【问题描述】:
我正在尝试在mysql 中创建一个触发器,该触发器将在填充另一个表 (wp_usermeta) 时填充一个新表 (customers)。我知道这可能是糟糕的设计,但我处于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 表,那就太好了。
如果触发器不是完成我想要做的事情的最佳方式,我也愿意接受建议。
【问题讨论】:
标签: php mysql database wordpress triggers