SQL-инъекция с использованием SubQuery Select в инструкции вставки
Я изучаю SQL-инъекцию и столкнулся с SQL-запросом, который выглядит следующим образом.
SQL-запрос выглядит так:
INSERT INTO documents (name, filename, mimetype, sessid) VALUES ("name", "filename", "mimetype", "sessid");
Я хочу сделать что-то вроде:
INSERT INTO documents (name, filename, mimetype, sessid) VALUES ((SELECT * FROM level8.documents), "filename", "mimetype", "sessid");
или даже
INSERT INTO documents (name, filename, mimetype, sessid) VALUES ((SELECT * FROM level8.documents), "filename", "mimetype", "sessid");
Когда я запускаю это, я получаю error code: 1241.
когда я запускаю это. Что я делаю неправильно?
1 ответ
Решение
Ваш оператор выбора возвращает более 1 столбца.
Пытаться
INSERT INTO documents (name, filename, mimetype, sessid)
VALUES ((SELECT GROUP_CONCAT(names of all your columns) FROM
level8.documents), "filename", "mimetype", "sessid");
Подробнее об ошибках подзапроса читайте здесь.