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");

Подробнее об ошибках подзапроса читайте здесь.

http://dev.mysql.com/doc/refman/5.6/en/subquery-errors.html

Другие вопросы по тегам