2009-09-07 4 views
5

ho un po 'di difficoltà nel capire come fare INSERT SELECT.MYSQL INSERT SELECT problema

Ad esempio, ho due tabelle.

TABLE : users 

id | name | gender 
1 | John | m 
2 | Mary | f 

TABLE : website 

fid | url    | id 
1 | www.desilva.biz | 2 
2 | gidhelp.com  | 4 

Ora diciamo che voglio aggiungere un'altra query al sito web della tabella. Ottengo due variabili, consente di dire:

$user = John; 
$site = "www.google.com"; 

voglio selezionare l'ID di Giovanni da tavolo degli utenti e inserirla in tabella sito in una dichiarazione.

Come posso farlo?

risposta

8

Supponendo che le variabili sono già sfuggiti correttamente e non sono soggetti a SQL iniezione:

INSERT 
INTO website (url, fid) 
SELECT $site, id 
FROM users 
WHERE name = $user 
+1

mi piacerebbe citare almeno $ utente in modo che esso abbinato correttamente sui nomi che contengono spazi. –

+0

+1 eliminato la mia risposta perché era lo stesso ... –

+0

Grazie per una rapida risposta. – gtfx