2013-07-11 58 views
1

我不能讓下面的插入工作雖然語法似乎是正確的..MySql的PHP插入帶有加入

INSERT INTO views T 
    JOIN members T2 
     ON '$username' = T2.username 
(ITEM_ID, ITEM_TYPE, USER_ID, USER_TYPE) 
VALUES('$itemview', '$type', T2.id, '$usertype') 

所有變量都被預定義當然..
我在做什麼錯在這裏?

錯誤:您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以便在'T JOIN成員T2 ON'testuser'= T2.username(ITEM_ID,IT'at line 1)附近使用正確的語法。

+0

如何能夠加入兩個表rd尚未創建? –

+0

[This](http://stackoverflow.com/questions/1382842/mysql-insert-joins)問題的答案可能能夠幫助你。 – Jon

回答

2

如果我對你有所瞭解,你想這樣的語法來代替:

INSERT INTO views 
    (ITEM_ID, ITEM_TYPE, USER_ID, USER_TYPE) 
SELECT '$itemview', '$type', id, '$usertype' 
FROM members 
WHERE username = '$username' 

它插入一條記錄viewsmembers部分內容與SELECT返回的行數也決定了插入的記錄數,您可能希望使用LIMIT如果這是。實際上是一個問題