数据库引擎: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'
表格帐户
错误消息
所需结果
我想通过访问用户表的用户名来更改帐户表的货币值。
我尝试过的事情
当然,我与UPDATE结合使用了有关INNER JOIN的其他网站。我完全根据this网站上的示例调整了查询。但这根本没有用。
答案 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
。
这也是错误消息指出的内容:
"(...) 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'“;