Запрос insert в запросе select - MySQL
Формулировка задачи:
SELECT id, (INSERT INTO wall_bought(wall, user) VALUES(wall.id, {$_REQUEST['user']})) FROM wall WHERE id = {$d[0]};
Решение задачи: «Запрос insert в запросе select»
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]
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д