假设我有数据库表:
id用户名计划
1 ahmad
注意:plan是一个包含'a', 'b', 'c' or ''
。
id status username
1验证了ahmad
现在我想写一个像
这样的查询如果支付表状态=已为同一用户验证,则更新用户表计划字段。
我该怎么做呢?
答案 0 :(得分:1)
首先,我建议您删除付款表中的用户名列,并将其替换为用户ID列。 MySQL基于数字ID而非字符串查找效率要高得多。此外,如果您需要更改用户名,它可以简化操作。
说到这里,我就是这样做的:
UPDATE user, payment SET user.plan="a" WHERE User.id = payment.userid AND payment.status="verified"
答案 1 :(得分:0)
update user, payment set plan = 'value' where status = 'verified' and user.username = payment.username
可能就是你要找的东西