我有 2 个表。在一个表中我有 id,在另一个表中我有 userId。这是他们之间唯一的联系。
问题是:在一张表中我有用户名,而在另一张表中我有他的余额。我想根据他的用户名获取用户的余额。由于只有一列连接它们并且是 ID,如果我只有他的用户名,我需要找到一种如何更新用户余额的方法。
这是我尝试过的方法,但它不起作用:
UPDATE t1
SET t1.balance = '999'
FROM bitcoin.accountbalance AS t1
INNER JOIN bitcoin.webusers AS t2
ON t1.userId = t2.id
WHERE t2.username = 'simpanz';
编辑:
ERROR IS: Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM bitcoin.accountbalance AS t1 INNER JOIN bitcoin.webusers AS t2 WHERE ' at line 3
我使用 MySQL。
最佳答案
这将适用于 SQL Server 和 MySQL:
UPDATE accountbalance
SET balance = '999'
WHERE EXISTS (SELECT 1
FROM webusers
WHERE webusers.id = accountbalance.userId AND
webusers.username = 'simpanz'
);
关于mysql - inner join更新sql出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23873627/