Запрос insert в запросе select - MySQL

Узнай цену своей работы

Формулировка задачи:

Можно ли сделать такой запрос?
    SELECT id, 
        (INSERT INTO wall_bought(wall, user) VALUES(wall.id, {$_REQUEST['user']}))
    FROM wall
    WHERE id = {$d[0]};
у меня не получается, ошибок вроде нету, но новая запись тоже не добавляется. так делать нельзя , или у меня что-то не правильно?

Решение задачи: «Запрос insert в запросе select»

textual
Листинг программы
UPDATE wall SET sld = CONCAT(SUBSTRING_INDEX(sld, '|', 1), '|', CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(sld, '|', -1), '|', 1) + 1 AS SIGNED), '|', SUBSTRING_INDEX(SUBSTRING_INDEX(sld, '|', 1), '|', 1)) WHERE id = {$d[1]}

Объяснение кода листинга программы

В представленном коде выполняется обновление записи в таблице «wall» с помощью оператора UPDATE. В поле «sld» записывается результат сложения числовых значений, разделённых символом «|». Для выделения числовых значений используется функция SUBSTRING_INDEX, которая возвращает указанную часть строки, разделённой символом «|». Для получения первого числового значения используется функция SUBSTRING_INDEX с параметрами '|', 1 и '|', 1. Для получения последнего числового значения используется функция SUBSTRING_INDEX с параметрами '|', -1, '|', 1. В результате выполнения кода в поле «sld» будет содержаться строка, в которой первое числовое значение будет следовать за последним числовым значением, разделёнными двумя символами «|». Пример: sld = 'a|b|2|3|'

2 + 3 = 5 sld = 'a|b|5|' Запрос UPDATE выполняется для обновления записи с идентификатором $d[1].

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5