如果没有记录,则插入SQL

时间:2013-03-22 22:07:22

标签: sql

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

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

字段1是主键。

但是,如果表中没有field1记录的实例,我只想插入Field1(例如,如果已经有一个field1记录为'orange',那么如果被问到,则不应该插入另一个'orange'这样做。)

我觉得这一定非常直接,但我正在尝试的任何东西似乎都在起作用。

1 个答案:

答案 0 :(得分: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