Подтвердить что ты не робот

MySQL INSERT INTO... VALUES и SELECT

Есть ли способ вставить предварительно заданные значения и значения, которые я получаю из запроса select? Например:

INSERT INTO table1 VALUES ("A string", 5, [int]).

У меня есть значение "A string" и число 5, но я должен найти значение [int] из select следующим образом:

SELECT idTable2
FROM table2
WHERE ...

который дает мне этот идентификатор для ввода внутри таблицы1.

Как слить это в одно утверждение?

4b9b3361

Ответ 1

Используйте запрос insert ... select и поместите известные значения в select:

insert into table1
select 'A string', 5, idTable2
from table2
where ...

Ответ 2

просто используйте подзапрос прямо здесь:

INSERT INTO table1 VALUES ("A string", 5, (SELECT ...)).

Ответ 3

 
INSERT INTO table_name1
            (id,
             name,
             address,
             contact_number) 
SELECT id, name, address, contact_number FROM table_name2;   

Ответ 4

попробуйте это

INSERT INTO TABLE1 (COL1 , COL2,COL3) values
('A STRING' , 5 , (select idTable2 from Table2) )
where ...

Ответ 5

Все остальные ответы решают проблему, и мой ответ работает так же, как и другие, но только более дидактически (это работает на MySQL... не знаю других SQL-серверов):

INSERT INTO table1 SET 
  stringColumn  = 'A String', 
  numericColumn = 5, 
  selectColumn  = (SELECT idTable2 FROM table2 WHERE ...);

Вы можете ссылаться на документацию MySQL: Синтаксис INSERT

Ответ 7

Попробуйте следующее:

INSERT INTO table1 
SELECT 'A string', 5, idTable2 idTable2 FROM table2 WHERE ...

Ответ 8

INSERT INTO table1 (col1, col2)
SELECT "a string", 5, TheNameOfTheFieldInTable2
FROM table2 where ...

Ответ 9

Попробуйте следующее:

INSERT INTO table1 SELECT "A string", 5, idTable2 FROM table2 WHERE ...