Триггер SQL INSERT для оператора вставки двух таблиц - PullRequest
0 голосов
/ 24 сентября 2019

Я конвертирую не Woocommerce магазин в Woocommerce.В настоящее время я нахожусь в фазе миграции данных.

Таблица на старом веб-сайте, содержащая товары, shop_items .Он имеет следующую структуру.enter image description here

Я вставляю данные из этой таблицы в таблицу WordPress wp_posts, используя следующий SQL

INSERT INTO wp_posts (`post_author`,`post_content`,`post_title`,`post_status`,`post_type`) SELECT '1', Description, Item, 'publish', 'product' FROM mybeads_test.shop_items WHERE mybeads_test.shop_items.ID <= 5;

Столбец идентификатора в таблицах shop_items и wp_postsне будет таким же

При импорте мне нужно добавить SKU продукта из старой таблицы в wp_postmeta таблицы WordPress для каждого конкретного продукта против его нового идентификатора.Для этого я написал триггер следующим образом:

DROP TRIGGER IF EXISTS update_wp_posts;
CREATE TRIGGER update_wp_posts 
    AFTER INSERT ON mybeads_test.wp_posts
    FOR EACH ROW 
INSERT INTO wp_postmeta(post_id, meta_key, meta_value)
      SELECT new.ID, '_sku', (SELECT sku FROM mybeads_test.shop_items WHERE mybeads_test.shop_items.ID = THE_PROBLEM);

Мне нужен доступ к идентификатору из столбца таблицы shop_items для каждой итерации в триггере, если это возможно, где THE_PROBLEM.Я смогу сопоставить этот идентификатор с определенными критериями и импортировать правильную информацию в таблицу wp_postmeta для каждого продукта.

Можно и как правильно это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...