根据条件更新 MySQL 中的字段

update fields in MySQL based on condition

我有两个表,一个帐户(登录名、密码、硬币、hwid)和一个 block_list(id、hwid)。我想检查 accounts.hwid 是否与 block_list.hwid 匹配,如果是,则在每个 account.hwid + 500 硬币上设置。

我为此使用上面的查询:

UPDATE accounts SET coin=500  WHERE hwid IN (SELECT hwid FROM block_list)

此查询有效,但甚至有 6 个帐户具有相同的 hwid,我想在 block_list 中仅在一个具有 hwid 的帐户上设置 +500 个硬币。

如何将硬币更新限制为与 block_list 中具有相同 hwid 的一个帐户?

所以,我有 10 个帐户具有相同的 hwid。我想将 account.hwid 与 block_list.hwid 进行比较,并仅更新 account.sql 中具有相同 hwid 的一个帐户。

示例: 在帐户表中存在 10 个名为 admin 和 hwid 102012 的帐户 在 block_list 中只存在一个 hwid 102012

此查询:

UPDATE accounts SET coin=500  WHERE hwid IN (SELECT hwid FROM block_list)

将从帐户

更新所有 10 个帐户

我只想更新一个帐户,我想在一个帐户上设置硬币 + 500 更多..其他 9 应该忽略..

所有方法都试过了,有帮助吗?

我仍然不确定你的问题是什么,但从语法上讲,这应该有效。

UPDATE accounts SET coin = coin+500  WHERE hwid = (SELECT hwid FROM block_list LIMIT 1)