我正在與PDO
連接mysql
,我想對我用來檢查數據庫中是否存在tags
的查詢有一些意見,並且要添加它在不是的情況下。PDO:檢查數據庫中的標籤存在,然後插入
// the tags are allready processed in $tags array
$check_stmt = $connection->prepare ("SELECT * FROM tags WHERE tag_name = :tag_name");
$save_stmt = $connection->prepare ("INSERT INTO tags (tag_name) VALUES (:tag_name)");
foreach ($tags as $current_tag) {
$check_stmt->bindParam (':tag_name', $current_tag, PDO::PARAM_STR, 32);
$save_stmt->bindParam (':tag_name', $current_tag, PDO::PARAM_STR, 32);
$check_stmt->execute ($current_tag);
if ($check_stmt->rowCount() == 0) $save_stmt->execute ($current_tag);
}
我不能熟練使用數據庫,所以我不知道,如果查詢以及預計
[哪個數據庫設計更快:唯一索引和INSERT IGNORE,或使用SELECT來查找現有記錄?](http://support.microsoft.com/kb/1328074/which-db-design-is-使用更快一個唯一的索引和插入-忽略 - 或選通) – outis 2012-01-24 02:02:42