帮助MySQL查询

时间:2011-03-26 23:46:09

标签: php mysql

假设我有数据库表:

用户

  

id用户名计划

     

1 ahmad

注意:plan是一个包含'a', 'b', 'c' or ''

的枚举

付款

  

id status username

     

1验证了ahmad

现在我想写一个像

这样的查询
  

如果支付表状态=已为同一用户验证,则更新用户表计划字段。

我该怎么做呢?

2 个答案:

答案 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

可能就是你要找的东西