添加一個新的字符串我有一個表wp_postmetaSQL觸發器如果不存在
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 ='區'和meta_value ='0'。 或更新其中meta_key ='area'和meta_value ='NULL'。
但是... 每個post_id都可能有很多meta_key。和meta_key ='區'爲每個post_id設置限制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;
$$
對不起..我不明白你..如果我將設置觸發器wp_posts ..我需要在觸發器中做什麼? – user3727355
將一個觸發器添加到'wp_posts'中,以將空白行插入到'wp_postmeta'中 - 因此對於'wp_posts'中的每個(新)條目,都保證'wp_postmeta'中有一個'area'條目。這不是你需要的嗎? – Hobo