2013-01-23 130 views
1

嗨,大家好基本上我有選擇的所有的clientId查詢,其中flagId = 6的MySQL插入記錄每一個已經存在的記錄

是:

SELECT clientId from ClientsFlags WHERE flagId = 6; 

現在,我想借此結果從該查詢中爲選擇語句中獲得的每個結果創建新記錄

INSERT INTO clientFlags clientId, flagId VALUES('The client ID's that were obtained in the select query', 42); 

組合這些語句的最佳方法是什麼?

回答

2

可以使用INSERT ... SELECT syntax

INSERT INTO clientFlags (clientId, flagId) 
    SELECT clientId, 42 
    FROM ClientsFlags 
    WHERE flagId = 6; 

這樣的事情,我還沒有測試它的語法錯誤

0
INSERT INTO clientFlags (SELECT clientId,42 from ClientsFlags WHERE flagId = 6) 
0

使用INSERT ... SELECT Syntax

您的查詢應該是什麼樣子,

INSERT INTO clientFlags (clientId, flagId) 
    SELECT clientId, flagId 
    FROM ClientsFlags WHERE flagId = 6; 
0
INSERT INTO clientFlags (clientId, flagId) SELECT clientId, 42 from ClientsFlags WHERE flagId = 6; 
0

你可以做像下面

INSERT INTO `clientFlags` 
SELECT * FROM `clientFlags` WHERE `flagId` = 6 

注:你也必須要記住,任何領域不可能是唯一或主鍵...