Как в MySQL сделать апдейт в одну таблицу из другой?

humbert
На сайте с 16.03.2006
Offline
540
1387

Есть 2 таблицы, список полей разный, совпадение только по одному полю.

Т.е. табл.1 - pole1, pole2, pole3

табл.2 pole1, pole4, pole5

Надо из табл.2 скопировать данные в табл.1 в поле pole1. Сделать апдейт данных надо

Помогите, пожалуйста

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
able
На сайте с 25.03.2008
Offline
112
#1

UPDATE table1 pole1=(SELECT pole2 FROM table2 WHERE id=1);

Best regards.
humbert
На сайте с 16.03.2006
Offline
540
#2

able, у тебя в коде несколько ошибок. Но за попытку спасибо.

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#3
• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
humbert
На сайте с 16.03.2006
Offline
540
#4

СКОРПИОН, спасибо, я уже там читал до этого. Сейчас уперся в то, что надо знать id записи, чтобы вот это код работал

update table1 t1, table2 t2 set t1.pole1=t2.pole1 where t1.recno=t2.recno

recno не знаю как найти в mysql

Linkpusher
На сайте с 28.12.2007
Offline
176
#5
humbert:
where t1.recno=t2.recno

where t1.recno = (select id ...)

?

Точу ножи. Буквально. Есть отзывы. Заказать заточку в МСК и Подольске можно через Телеграмм.
humbert
На сайте с 16.03.2006
Offline
540
#6

toxic steel, спасибо, но не понял:)

У обеих таблиц не совпадает ничего, кроме имени поля. Мне бы узнать порядковый номер записи в таблице.

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#7

humbert, нет функции recno в MySQL. Мало того, записи в таблице могут лежать не по порядку, т.е. мускул вставляет записи в дырки таблицы...

Если требуемая операция разовая, то я добавил бы к каждой таблице через alter table по автоинкрементальному столбцу, который для скорости объявил бы ещё и первичным или уникальным индексом, соединил бы таблицы по этому полю, проапдейтил, а столбцы потом бы грохнул...

Linkpusher
На сайте с 28.12.2007
Offline
176
#8

humbert, омфг... это не id - да? нужно чтобы они просто:

строка 1 из таблицы 1 = строка 1 из таблицы 2

строка 2 из таблицы 1 = строка 2 из таблицы 2

строка 3 из таблицы 1 = строка 3 из таблицы 2

...

?

а строк много?

humbert
На сайте с 16.03.2006
Offline
540
#9

toxic steel, именно, строк 30К или больше

СКОРПИОН, понял, спасибо. Решил по другому, т.к. автоинкремент уже есть в таблице1.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий