假设我有数据库表:
用户
id用户名计划
1艾哈迈德
注意: plan是包含任意一个'a', 'b', 'c' or ''的枚举。
付款
id状态用户名
1名经核实的艾哈迈德
现在我想写一个查询,比如
如果支付表状态=同一用户的验证,则
更新用户表计划字段。
我该怎么做呢?
发布于 2011-03-26 23:54:06
update user, payment set plan = 'value' where status = 'verified' and user.username = payment.username可能是你要找的
发布于 2011-03-26 23:53:50
首先,我建议您删除payment表中的username列,并将其替换为userid列。与字符串相比,MySQL基于数字ID进行查找的效率要高得多。此外,如果您需要更改用户名,它可以简化一些事情。
话虽如此,我还是这样做的:
UPDATE user, payment SET user.plan="a" WHERE User.id = payment.userid AND payment.status="verified"
https://stackoverflow.com/questions/5446203
复制相似问题