2009-12-20 101 views
0
UPDATE table1 SET announcer = (SELECT memberid 
FROM (table1 
JOIN users ON table2.username = table1.announcer 
) AS a 
WHERE a.username = table1.announcer) 

#1064 - 您的SQL語法錯誤;檢查手冊中 相當於你的MySQL服務器 版本正確的語法使用 接近 '一個地方 a.username = table1.announcer)' 在1號線我的MySQL語句有什麼問題?

回答

1

嘗試:

UPDATE announcements a 
SET announcer = 
(SELECT memberid 
FROM users u 
WHERE u.username = a.announcer) 
1

你也可以做中UPDATE JOIN

UPDATE announcements JOIN users 
SET announcements.announcer=users.memberid 
WHERE announcements.username=users.username; 

注:爲世上的原因(直到你r確定播音員得到複製權)我會改爲創建一個新的專欄,說,然後宣佈新的

UPDATE announcements JOIN users 
SET announcements.announcerNew=users.memberid 
WHERE announcements.username=users.username;