如果另外两个select的计算大于,则更新列

时间:2014-02-16 14:45:48

标签: php mysql select insert calculus

嗯,这是一个问题的地狱。

这是我想要的方式

$result = mysql_query(" SELECT (less, more) FROM tempTable WHERE id = '$id' ");
    $row = mysql_fetch_row($result);

    if( ($row[1] - $row[0]) / 75  <= 1.5 )
    {
        INSERT INTO tempTable (payValue) VALUES ('$ammount') WHERE id = '$user';        
    }

问题是,是否可以进行这两个查询之一?

1 个答案:

答案 0 :(得分:1)

是的,您可以在一个声明中执行此操作:

INSERT INTO tempTable (payValue)
    SELECT $ammount
    FROM tempTable
    WHERE id = '$id' and (more - less) / 75 <= 1.5;

编辑:

嗯,这可能是insert真的应该是update的另一种情况:

UPDATE tempTable
    set payValue = $ammount
    WHERE id = '$id' and (more - less) / 75 <= 1.5;

如果要添加新的,请使用insert。如果要更改现有行的值,请使用update

如果你想要另一行,那就是:

INSERT INTO tempTable (id, payValue)
    SELECT id, $ammount
    FROM tempTable
    WHERE id = '$id' and (more - less) / 75 <= 1.5;
相关问题