У меня есть таблица, называемая местами, в которой есть 2 миллиона записей. В этих записях есть столбец с именем city_name.
В другой таблице у меня есть 2 столбца: city_name
и city_id
.
Моя цель - искать в табличных городах имя city_name
из мест таблицы и вставлять соответствующий city_id
из табличных городов в таблицы.
Я попытался использовать следующее:
UPDATE places
INNER JOIN cities USING (city_name)
SET places.city_id = cities.city_id
Проблема в том, что он сработал, но у меня есть случайный city_id в поле city_id
которое не соответствует имени города.
Я должен также упомянуть, что в табличных городах не может быть соответствующего имени города, поэтому я хочу игнорировать записи, которые не существуют.
Может кто-нибудь помочь, пожалуйста. Я использую phpmyadmin
Спасибо
Если я правильно понимаю ваш запрос, решение будет
UPDATE places
SET places.city_id = (SELECT cities.city_id
FROM cities
WHERE cities.city_name = places.city_name)