すべてのデータベースドライバで動作するPDOのINSERT IGNORE
への一般的な方法はありますか?PDOで挿入すると重複キーを無視します
ない場合、それは次のようにうまくいくと仮定する公平である:
try {
$stmt = $db->prepare("INSERT INTO link_table (id1, id2) VALUES (:id1, :id2)");
$stmt->execute(array(':id1' => $id1, ':id2' => $id2));
}
catch (PDOException $ex) {
// Thanks to comment by Mike:
// Re-throw exception if it wasn't a constraint violation.
if ($ex->getCode() != 23000)
throw $ex;
}
@Haim Evgiをチェックするために必要かもしれないと思う 'INSERT IGNORE INTO'はMySQLでのみ動作する非標準のSQL機能です。 –