Можно ли использовать подзапрос в инструкции INSERT?SQL-подзапрос в INSERT?
INSERT INTO table (age, p_id)
VALUES('22', '(SELECT id FROM people WHERE name='Bob')')
Есть ли рабочая форма того, что я пытаюсь?
Использование базы данных MySQL
Можно ли использовать подзапрос в инструкции INSERT?SQL-подзапрос в INSERT?
INSERT INTO table (age, p_id)
VALUES('22', '(SELECT id FROM people WHERE name='Bob')')
Есть ли рабочая форма того, что я пытаюсь?
Использование базы данных MySQL
INSERT INTO MyTable (age, p_id)
SELECT '22', (select id from people where name = 'bob')
или вы могли бы сделать это
INSERT INTO MyTable (age, p_id)
SELECT '22', id
FROM people
WHERE name = 'bob'
В подзапросе нет необходимости. 'INSERT INTO MyTable (age, p_id) SELECT '22', id FROM people WHERE name = 'bob'' Литеральное значение' 22' может просто перейти в список выбора. –
@MichaelBerkowski Я согласен – Malachi
Я знаю, что не было необходимости в подзапросе, я пытался использовать ту же структуру, что и в вопросе лиц, чтобы облегчить им следовать. –
должно быть что-то вроде
INSERT INTO table (age, p_id)
SELECT '22', people.id
FROM people
WHERE people.name = 'bob
INSERT INTO table (age, p_id)
SELECT '22', (SELECT id FROM people WHERE name='Bob'))
или лучше ...
INSERT INTO table (age, p_id)
SELECT '22',id FROM people WHERE name='Bob'
*** SQL *** - это только * Структурированный язык запросов * - язык, используемый многими системами баз данных, но не продукт базы данных ... многие вещи специфичны для поставщиков, поэтому нам действительно нужно знать, что ** система баз данных ** (и какая версия) вы используете (пожалуйста, обновите теги соответственно) .... –
вы должны использовать select вместо – Malachi
Использование MySQL спасибо –