Как вставить из таблицы в другую таблицу, связанную с внешним ключом? - PullRequest
0 голосов
/ 28 января 2020

Я хотел бы попросить помощи по поводу моего sql заявления. Я хочу создать систему инвентаризации, поэтому я создаю форму инвентаря , которая позволяет пользователю загружать файл csv, содержащий список элементов инвентаря. Из загруженного файла я вставляю все данные во временную таблицу, которую я назвал tmp_csv . Данные в файле были успешно обновлены в базе данных. Ниже приведена таблица tmp_csv :

tmp_scv table

Итак, из временной таблицы я хочу вставить ее в фактическую таблицу, которую я назвал PRODUCT_NEW . Продукт таблицы содержит поле данных, как показано ниже:

Product_new table

В этой таблице продуктов в качестве первичного ключа указан product_new_id, а поле category_id - это внешний ключ из таблицы категорий. а field brand_id - это внешний ключ из таблицы брендов. Проблема, с которой я столкнулся, заключается в создании оператора SQL для вставки данных из таблицы tmp_csv в таблицу product_new .

Ниже приведен мой код SQL, но он не работает P / s: я только что опробовал первые 3 поля.

>  $query = "
>     INSERT INTO product_new (category_id, brand_id, branch_id)
>     VALUES (
>            (SELECT category_id FROM category WHERE category_name = (SELECT category FROM tmp_csv)),
>            (SELECT brand_id FROM brand WHERE brand_name = (SELECT brand FROM tmp_csv)),
>            '".$branch."'
>            )
>           ";

Из этого запроса ничего не происходит с таблицей product_new. Может кто-нибудь помочь мне, как создать правильный SQL для этого? Я новичок в этом, надеюсь, вы, ребята, могли бы помочь мне.

Заранее спасибо!

...