【发布时间】:2011-09-24 06:51:29
【问题描述】:
有没有一种通用的方法来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是一个非标准的 SQL 功能,只适用于 MySQL。
标签: mysql sql-server database postgresql pdo