我对两个表的更新查询不起作用(MYSQL)

时间:2018-09-05 13:07:07

标签: mysql sql

数据库引擎:MYSQL

我在处理SQL更新请求时遇到问题。由于某种原因,我在执行SQL时会收到一条错误消息(请参阅下一节)。我已经调整了SQL命令,因为有些网站告诉我(例如this one)

有人知道,我做错了吗?预先感谢。

查询

UPDATE user SET money = 20.00 FROM user Inner Join account on user.accountfk = account.accountID WHERE username = 'radol'

表格用户 enter image description here

表格帐户

enter image description here

错误消息

enter image description here

所需结果

我想通过访问用户表的用户名来更改帐户表的货币值。

我尝试过的事情

当然,我与UPDATE结合使用了有关INNER JOIN的其他网站。我完全根据this网站上的示例调整了查询​​。但这根本没有用。

3 个答案:

答案 0 :(得分:1)

这可能是您的更新声明:

$namespaces = $doc->getNamespaces(true);    

$nsDoc = $doc->children($namespaces['']);
$nsDoc->registerXPathNamespace('p', 'http://mws.amazonservices.com/schema/Products/2011-10-01');

    $nodesASIN = $nsDoc->xpath('//p:GetMyPriceForASINResult/p:Product/p:Identifiers/p:MarketplaceASIN/p:ASIN');
    foreach ($nodesASIN as $node)
    {
        $asin_array[] = (string) ($node);
    }
    $nodesCurrencyCode = $nsDoc->xpath('//p:GetMyPriceForASINResult/p:Product/p:Offers/p:Offer/p:BuyingPrice/p:LandedPrice/p:CurrencyCode');
    foreach ($nodesCurrencyCode as $node)
    {
        $CurrencyCode_array[] = (string) ($node);
    }

答案 1 :(得分:1)

UPDATE语句的SQL规范的语法中没有FROM

See here for further info.

这也是错误消息指出的内容:

"(...) Check the right syntax (...) to use near 'FROM user Inner Join account (...)

如果您需要更多指导,请随时发表评论或向我发送消息。

答案 2 :(得分:0)

您需要为表名添加别名,或者将用户名和资金分别命名为user.money和user.username 尝试这个, “”更新用户INNER JOIN帐户on user.accountfk = account.accountID SET user.money = 20.00 WHERE user.username ='radol'“;