有没有一种通用的方法可以使用PDO进行INSERT IGNORE
并适用于所有数据库驱动程序?
如果没有,以下做法是否可行:
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;
}
INSERT IGNORE INTO
是一种非标准的 SQL 功能,仅适用于 MySQL。 - Lea Hayes