匹配2个sql列if =然后用1更新不同的列

时间:2013-03-04 16:55:09

标签: php mysql

我正在寻找一个人在一个表中提交的内容与数据库中不同的表之间是否匹配。 我无法弄清楚如何设置它。我想要的是

  IF tableA column A = tableB column B then table A column C = Column C + 1. 

我尝试过更新方法,但这对我来说似乎不起作用。任何帮助都会很棒。感谢。

3 个答案:

答案 0 :(得分:3)

一般来说就是这样:

UPDATE TABLE_A a JOIN TABLE_B b 
  ON a.join_col = b.join_col AND a.column_a = b.column_b
SET a.column_c = a.column_c + 1

join_col值可能是user_id,因此您只更新TABLE_A相同用户TABLE_B中具有相同值的行。

答案 1 :(得分:1)

我猜你可以在mysql中做到这一点:

UPDATE TableA a, TableB b 
SET a.ColumnC = ColumnC + 1 
WHERE a.ColumnA = b.ColumnB; 

答案 2 :(得分:0)

如果这是你想要的

update tableA set colA=(select (case when b.colB=colA then colC+1 else colC end) from tableB b)