1

次のように、PHPを介してテーブルにいくつかの値を挿入しようとしています:

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

フィールド 1 は主キーです。

ただし、フィールド 1 のレコードのインスタンスがテーブルにまだ存在しない場合にのみ、フィールド 1 を挿入したい (たとえば、フィールド 1 レコードが「オレンジ」として既に存在する場合、要求された場合に別の「オレンジ」を挿入するべきではありません)。 )。

これはかなり簡単にできると思いますが、私が試していることは何もうまくいかないようです。

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 に答える