1

我正在尝试通过 PHP 将几个值插入到表中,如下所示:

$sql = "INSERT INTO table1(Field1, Field2)
            Values (?, ?)
            ";
    $stmt = $db-> prepare($sql);
    $stmt->execute(array($field1, $field2));
    $stmt->closeCursor();

字段 1 是主键。

但是,如果表中还没有 field1 的该记录的实例,我只想插入 Field1(例如,如果已经有一个 field1 记录为“橙色”,则如果被要求插入另一个“橙色”,则不应插入)。

我觉得这一定很简单,但我正在尝试的任何事情似乎都没有奏效。

4

1 回答 1

1

尝试这个

INSERT INTO table1(Field1, Field2)
SELECT @field1, @field2 from dual
WHERE not exists (select 1 from table1 where field1 = @field1);
--@field1, @field2 are your parameter values
于 2013-03-22T22:10:26.250 回答