diff --git a/ChangeLog b/ChangeLog index 16e78c7d1c..b85659db36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -34,6 +34,7 @@ phpMyAdmin - ChangeLog - bug Fix isCanvasSupported for new window + rfe #1600 Clarify the "Inline" link + rfe #1179 Speed up slow triggers by using EVENT_OBJECT_SCHEMA ++ rfe #1192 ON DUPLICATE KEY UPDATE for loading CSV 4.3.10.0 (not yet released) diff --git a/libraries/plugins/import/ImportCsv.class.php b/libraries/plugins/import/ImportCsv.class.php index ebc0d64e02..7ed801a704 100644 --- a/libraries/plugins/import/ImportCsv.class.php +++ b/libraries/plugins/import/ImportCsv.class.php @@ -165,13 +165,9 @@ class ImportCsv extends AbstractImportCsv $required_fields = 0; if (! $this->_getAnalyze()) { - if (isset($_POST['csv_replace'])) { - $sql_template = 'REPLACE'; - } else { - $sql_template = 'INSERT'; - if (isset($_POST['csv_ignore'])) { - $sql_template .= ' IGNORE'; - } + $sql_template = 'INSERT'; + if (isset($_POST['csv_ignore'])) { + $sql_template .= ' IGNORE'; } $sql_template .= ' INTO ' . PMA_Util::backquote($table); @@ -531,6 +527,14 @@ class ImportCsv extends AbstractImportCsv $first = false; } $sql .= ')'; + if (isset($_POST['csv_replace'])) { + $sql .= " ON DUPLICATE KEY UPDATE "; + foreach ($fields as $field) { + $fieldName = PMA_Util::backquote($field['Field']); + $sql .= $fieldName . " = VALUES(" . $fieldName . "), "; + } + $sql = rtrim($sql, ', '); + } /** * @todo maybe we could add original line to verbose