MySQL, оператор вставки со значениями в качестве операторов выбора

0
insert into class_pre_req(class_id, cpr_id) values(select class_id from classes where catlg_nbr = 265 and subject_id = 27, select class_id from classes where catlg_nbr = 166 and subject_id = 27);

Я пытаюсь вставить в эту таблицу со значениями в качестве вставных операторов. Я предполагаю, что просто использую неправильный синтаксис. Любая помощь, пожалуйста?

Теги:
database
select
insert

1 ответ

1
Лучший ответ

VALUES используется только при вставке литеральных записей. Вместо этого просто вставьте оператор select, состоящий из двух подзапросов:

INSERT INTO class_pre_req (class_id, cpr_id)
SELECT
    (SELECT class_id FROM classes WHERE catlg_nbr = 265 AND subject_id = 27),
    (SELECT class_id FROM classes WHERE catlg_nbr = 166 AND subject_id = 27);

Обратите внимание: для того, чтобы это сработало, каждый подзапрос должен был бы вернуть одно значение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню