MySQL - ошибка ввода дубликатов. Поменять первичные идентификаторы между двумя таблицами - PullRequest
0 голосов
/ 03 мая 2019

Мне нужно изменить новые идентификаторы из новой таблицы на старые из старой таблицы.

Сначала я сделал такой скрипт для mySQL (который использовал, как я думал раньше, уникальное имя Title для изменения ID:

UPDATE wp_posts, j256_k2_items SET wp_posts.id = j256_k2_items.id WHERE wp_posts.post_title = j256_k2_items.title

Но это дало мне ошибкуи я узнал, что некоторые статьи имеют дублирующие имена. Поэтому я нашел другое «уникальное» имя - дату и изменил свой код так:

UPDATE wp_posts, j256_k2_items REPLACE wp_posts.ID = j256_k2_items.id WHERE wp_posts.post_title = j256_k2_items.title AND wp_posts.post_date = j256_k2_items.created

Это дало мне # 1062- Дублирующая запись для ключа «ПЕРВИЧНЫЙ». Так что я погуглил и изменил на такой ужасный код, который сделал половину работы (изменил некоторые идентификаторы): UPDATE IGNORE wp_posts, j256_k2_items REPLACE wp_posts.ID = j256_k2_items.id WHERE wp_posts.post_title = j256_k2_items.title AND wp_posts.post_date = j256_k2_items.created

Это поменяло местами только некоторые статьи (возможно, половину). Какчтобы поменять их все и побить эту ошибку Dublicate? У меня есть плохая идея экспортировать это в csv и сделать VLOOKUP, а затем сделать импорт, но считаю, что есть элегантное решение ...

Большое спасибо

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