2017-02-09 21 views
0

當我用下面的查詢錯誤顯示在使用phpmyadmin的

UPDATE members 
SET `refered` = (SELECT COUNT (*) 
       FROM `user_details` 
       WHERE `user_details.sponser`=`members.username` 
       ) 

這表明這樣的

#1064一個錯誤信息更新數據庫使用phpmyadmin列更新 - 你有一個錯誤的SQL語法;檢查對應於您MariaDB的服務器版本使用附近的正確語法手冊「*)FROM`user_details` WHERE`user_details.sponser` =`members.username`)」在1號線

什麼可能原因?

+0

嘗試UPDATE成員 SET'refered' =(SELECT COUNT(*)FROM 'user_details' WHERE'user_details.sponser' ='members.username ' ) –

回答

0

錯誤是

COUNT (*) 
-----^ 

COUNT(*)之間取出的空間。

0
Try the below query 
UPDATE members SET refered = (SELECT COUNT(*) FROM user_details 
WHERE user_details.sponser=members.username) 
0

Select查詢是否返回任何結果。如果是這樣,結果如何。看起來你所有的查詢都在裏面,「你正在使用它的單引號應該被刪除。例如,需要刪除單引號。

UPDATE members 
SET refered = (SELECT COUNT (*) 
       FROM user_details 
       WHERE user_details.sponser=members.username 
       ) 

- 在上面的查詢中沒有單引號。請將其從您的移除。

0

問題的一部分或可能是整個問題是WHERE子句。你已經使用了表名的反引號,這是正確的(或者,至少在這種情況下是可選的;如果你的數據庫名或表名具有MySQL保留名或者不明確)。但問題是,將數據庫與表分開的點需要位於反引號之外。所以,你的WHERE子句看起來應該是這樣,而不是:

WHERE `user_details`.`sponser`=`members`.`username`