Я уверен, что это было задано раньше, но я не могу полностью установить связь с тем, что я пытаюсь сделать с тем, что нашел. Я думаю, это потому, что я хочу сделать это со второй таблицы и с не ключевым полем.обновление, если строка существует еще вставить новую запись, используя данные из другой таблицы
В основном у меня есть эта учебная таблица. Ключевые слова, содержащие ключевые слова для разных курсов.
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| course_id | int(11) | NO | MUL | NULL | |
| keyword | varchar(100) | NO | MUL | NULL | |
| excerpt | longtext | NO | | NULL | |
| explained | longtext | NO | | NULL | |
| slug | varchar(100) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
и у меня есть выписка из старого WordPress сайта, который содержит много теории нот с названиями, которые соответствуют некоторые из ключевых слов в таблице выше.
+------------------+----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+----------------+------+-----+---------+-------+
| wp_ID | int(4) | YES | | NULL | |
| wp_post_date | varchar(19) | YES | | NULL | |
| wp_post_modified | varchar(19) | YES | | NULL | |
| wp_post_status | varchar(7) | YES | | NULL | |
| wp_post_title | varchar(35) | YES | | NULL | |
| wp_post_content | varchar(10435) | YES | | NULL | |
| wp_post_excerpt | varchar(224) | YES | | NULL | |
| wp_post_parent | int(1) | YES | | NULL | |
| wp_post_name | varchar(33) | YES | | NULL | |
| wp_post_type | varchar(8) | YES | | NULL | |
+------------------+----------------+------+-----+---------+-------+
Если ключевое слово найдено, я хочу, чтобы обновить выдержку и объяснил поля со старыми данными WordPress, дающими это курс идентификатор 2. Если ключевое слово не существует, я хотел бы, чтобы вставить новую строку и дать it the course_id of 4.
Я начал с этого from here, но не могу закончить его.
IF NOT EXISTS (SELECT * FROM `curriculum.keywords` WHERE `keyword` = STUCK HERE) THEN
INSERT INTO `curriculum.keywords` (`keyword`, `excerpt`, `explained`, `slug`, `course_id`)
SELECT `wp_post_title`, `wp_post_excerpt`, `wp_post_content`, `wp_post_name`, 4 FROM `aimport-notes`
ELSE
UPDATE `curriculum.keywords` (`keyword`, `excerpt`, `explained`, `slug`, `course_id`)
SELECT `wp_post_title`, `wp_post_excerpt`, `wp_post_content`, `wp_post_name`, 4 FROM `aimport-notes`
WHERE `curriculum.keywords`.`keyword` = `aimport-notes`.`wp_post_title`
END IF;
С благодарностью в ожидании вашей помощи.
Chris
Что делать, если ключевое слово встречается более чем в одном Записи WP? – JimmyB