每次將新用戶添加到我的系統中時,我需要能夠將一組值添加到表中。(SQL)如何根據另一個表的ID將值添加到表中?
添加用戶時,我想查看我的'標籤'表,並在'標記'表中爲每個ID在'Tag_Score'表中插入一個新條目。
我試圖給出的基於東西我在網上找到,但儘管邏輯上似乎聲音,它似乎並不以下是工作
DECLARE @LoopVar INTEGER
SET @LoopVar = (SELECT MIN(Tag_Score.T_ID)
FROM Tags) WHILE @LoopVar IS NOT NULL
BEGIN
INSERT INTO `a3360218_DD`.`Tag_Score` (
`A_ID` ,
`T_ID` ,
`Score` ,
`Visits`
)
VALUES (
'" . $accountID . "', @LoopVar , '0', '0'
)
SET @LoopVar = (SELECT MIN(Tag_Score.T_ID)
FROM TheTable
WHERE @LoopVar < T_ID)
END
的錯誤是:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHILE @LoopVar IS NOT NULL
BEGIN
INSERT INTO `a3360218_DD`.`Tag_Score` (
' at line 2
謝謝advance
Matt
這將真正幫助,如果你解釋多一點*英語*什麼是你正在嘗試做,而不是張貼破碎的代碼(儘管你嘗試了一些東西是很好的)。另外,請張貼'Tags'和'Tag_Score'的表定義 – Bohemian 2012-04-04 15:40:26
我很努力地理解你的問題,但它聽起來像你需要看看[INSERT ... SELECT](http://dev.mysql.com/doc /refman/5.5/en/insert-select.html) – nnichols 2012-04-04 15:43:15
對不起,我有一個很長的一天,只是重新讀這個,你是對的,我的英語是可怕的哈哈!這INSERT ... SELECT的東西似乎是正確的方式,但我從來沒有聽說過它(有點新的這一切)。非常感謝 – 2012-04-04 16:34:49