2014-05-20 39 views
0

我在寫一條sql語句來複制記錄。我的代碼可以工作,但不是像我目前所做的那樣複製userId,而是希望在表中設置該值。這是我現在的代碼:如何複製記錄並指定字段值

insert into tMyTable (userId, testDate, studentResponse) 
select userId, testDate, studentResponse 
from tMyTable 
where testId= 403 

如何將userId = 100的值設置到新記錄中?我知道我可以輕鬆地做到這一點,但我有成百上千的記錄改變爲相同的userId。

回答

4

只是把100作爲用戶id,這樣

insert into tMyTable (userId, testDate, studentResponse) 
select 100 as userId, testDate, studentResponse 
from tMyTable 
where testId= 403 
+1

隨着'INSERT INTO ... SELECT 100 userId'的'因爲userID'在這種情況下可選的,因爲MySQL不關心什麼列在'SELECT'子句中被命名。它們當然不必與'INSERT'子句中的列名匹配。 –

相關問題