使用PDO 準備好的語句插入多行
使用單一準備好的語句將多行插入資料庫不僅是可能的,而且推薦用於
使用單一插入查詢的方法
第一種方法涉及使用具有多個值的單一INSERT 查詢:
INSERT INTO Table (col1, col2, col3) VALUES ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi') -- and so on...
要使用 PDO 執行此查詢,可以按照以下步驟操作:
$query = "INSERT INTO Table (col1, col2, col3) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?) "; $params = array('abc', 'def', 'ghi', 'abc', 'def', 'ghi', 'abc', 'def', 'ghi'); $stmt = DB::getInstance()->prepare($query); $stmt->execute($params);
單獨插入查詢的方法
如果要插入的行數太大,您可能需要執行單一插入查詢:
$query = "INSERT INTO Table (col1, col2, col3) VALUES (".implode(',', $args).")"; $stmt = $pdo->prepare($query); foreach ($rows as $row) { $stmt->execute($row); }
此方法可確保每行單獨插入,從而最大程度地降低插入過程中出現問題的風險。
結論
是否使用單一插入具有多個值的查詢或單一插入查詢,PDO 準備語句提供了將多行插入資料庫的高效且安全的方法。選擇正確的方法取決於應用程式和資料庫的特定要求。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3