【发布时间】:2014-09-07 00:26:13
【问题描述】:
我有一张表 wp_postmeta
meta_id bigint(20) unsigned PRI (NULL) auto_increment
post_id bigint(20) unsigned MUL 0
meta_key varchar(255) utf8_unicode_ci MUL (NULL)
meta_value longtext utf8_unicode_ci (NULL)
这样的表:
meta_id post_id meta_key meta_value
1 1 area 12
2 1 rooms 2
3 2 rooms 3
我需要创建一个触发器,如果该表不存在,它将向该表中添加一个字符串 使用 meta_key = 'area' 和 meta_value = '0'。 或 UPDATE 其中 meta_key = 'area' 和 meta_value = 'NULL'。
但是…… 每个 post_id 可能有很多 meta_key。并且每个 post_id 的 meta_key = 'area' 设置为限制 1。 但问题是不是每个 post_id 都有 meta_key = 'area' 所以首先需要创建它!
我现在有这样的东西..(下面的代码)它是一个部分,它将给出 meta_key = 'area' 的 meta_value = '0'。但我不明白如果不是,我该如何创建这个字符串存在。
CREATE
TRIGGER `trigger` BEFORE INSERT ON `wp_postmeta`
FOR EACH ROW BEGIN
IF NEW.meta_key = 'area' AND NEW.meta_value IS NULL THEN
SET NEW.meta_value = '0';
END IF;
END;
$$
【问题讨论】: