我在php $newtotal中有一个动态变量。当此变量大于MAX数据库整数时,我想INSERT

$newtotal = 4000;

mysql_query("INSERT INTO mytable (`DATE`, `TOTAL`, `DBTOTAL`) VALUES ('2012-03-09', '1', '$newtotal') WHERE MAX(`DBTOTAL`) < '$newtotal'");


即。在我的数据库中,我的MAX(DBTOTAL)= 4050;

这不应该INSERT;当INSERT更改为大于4050时,它也应该正确$newtotal,但是我在任一变量号上都出现语法错误。在这里需要有关语法的帮助。

最佳答案

您不能在WHERE语句中使用INSERT子句。您将需要检查该值以查看是否要插入,并在满足条件的情况下进行插入。

例如:

$result = mysql_query("
    SELECT MAX(DBTOTAL)
    FROM table
");

list($max) = mysql_fetch_num($result);

if ($max < $newtotal) {
    mysql_query("
        INSERT INTO table (`DATE`, `TOTAL`, `DBTOTAL`)
        VALUES ('2012-03-09', '1', '$newtotal')
    ");
}

08-07 14:11