it-swarm.com.de

MySQL INSERT IN ... VALUES und SELECT

Gibt es eine Möglichkeit, voreingestellte Werte und Werte einzufügen, die ich aus einer Auswahlabfrage erhalte? Beispielsweise:

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

Ich habe den Wert "A string" und die Nummer 5, aber ich muss den [int] -Wert aus einer Auswahl wie folgt finden:

SELECT idTable2
FROM table2
WHERE ...

das gibt mir die ID in table1 zu setzen.

Wie fasse ich das zu einer Aussage zusammen?

50
TheEnigmist

Benutze ein insert ... select abfragen und die bekannten Werte in das select eintragen:

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

benutze einfach eine Unterabfrage genau dort wie:

INSERT INTO table1 VALUES ("A string", 5, (SELECT ...)).
62
zoujyjs
 
 INSERT INTO Tabellenname1 
 (ID, 
 Name, 
 Adresse, 
 Kontaktnummer) 
 SELECT ID, Name, Adresse, Kontaktnummer FROM table_name2; 
11
Mahbub Tito

versuche dies

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

Alle anderen Antworten lösen das Problem und meine Antwort funktioniert genauso wie die anderen, nur didaktischer (dies funktioniert unter MySQL ... kennt andere SQL-Server nicht):

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

Sie können auf die MySQL-Dokumentation verweisen: INSERT-Syntax

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

Siehe: http://dev.mysql.com/doc/refman/5.6/en/insert-select.html

2
Jono Guthrie

Versuche Folgendes:

INSERT INTO table1 
SELECT 'A string', 5, idTable2 idTable2 FROM table2 WHERE ...
1
Korhan Ozturk
INSERT INTO table1 (col1, col2)
SELECT "a string", 5, TheNameOfTheFieldInTable2
FROM table2 where ...
1
Laurent S.

Versuche dies:

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