• Авторизация


mysql insert 16-11-2019 12:41 к комментариям - к полной версии - понравилось!


может, пригодится кому, да и себе на память.

Есть такая штука - opencart. Товары хранятся в разных таблицах БД. Есть, в частности, таблица, хранящая информацию о том, к какой категории относится определенный товар. И все бы хорошо, да вот только когда, скажем, нужно добавить существующие товары в новую категорию, то сделать вручную - проблематично, занимает много времени.

Таблица содержит два поля - номер товара и номер категории. То есть нужно выбрать нужные товары по какому-то критерию, и добавить записи, что они все относятся к этой категории.

у меня сработал такой вариант, взятый здесь: https://stackoverflow.com/questions/9422529/mysql-...-returning-multiple-r/36481050


mysql> insert into cms_product_to_category (category_id ,product_id)
-> select "112", product_id from cms_product_description where name like 'Ком%';
Query OK, 50 rows affected (0.04 sec)
Records: 50 Duplicates: 0 Warnings: 0

Т.е., по моему мещанскому разумению, вы жестко задаете ему одно из полей, а второе получается как результат выборки из БД.

Мне казался более очевидным вариант

INSERT INTO table (val1, val2)
VALUES (112,
(SELECT product_id FROM cms_product_to_category WHERE name LIKE "Ком%"));

Но нет, этот вариант не работает, выдает ошибку и все тут.)
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник mysql insert | Affrikan - Дневник Affrikan | Лента друзей Affrikan / Полная версия Добавить в друзья Страницы: раньше»