2017-02-09 63 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`