Необходимо вставить строку после отправки формы на основе столбца другой таблицы (JOIN) - PullRequest
0 голосов
/ 28 марта 2020

У меня есть список элементов, и я хочу, чтобы мой пользователь мог добавить элемент в закладки. Они нажимают на кнопку, и ей нужно передать 1 в таблицу «закладок» с идентификатором элемента. Прямо сейчас мой список элементов состоит из 64 строк.

Я знаю, что $ pid передается в запрос, потому что запрос ниже передает идентификатор выбранного элемента всем 64 элементам и создает 64 строки.

Я просто хочу, чтобы он вставлял по одной строке за раз.

        $query = "INSERT INTO a_item_bookmark (playerID,bookmark)
                    SELECT p.id, 1
                    FROM a_items p
                    WHERE p.id = '" . $pid . "'
                    ";

1 Ответ

0 голосов
/ 28 марта 2020

ВЫБРАТЬ p.id ОТ a_items p ГДЕ p.id = '". $ Pid."'. если я заменим $ pid на 1, он вернет 1 как p.id

, поэтому следующий запрос SQL является более эффективным кодом, чем другие Query = "INSERT INTO a_item_bookmark (playerID, bookmark) values ​​(". $ pid. ", 1)";

В противном случае это будет ваш ответ Query = "INSERT INTO a_item_bookmark (playerID, bookmark) значения ((выберите идентификатор из a_items p, где p.id = 1), 1) «;

...