diff --git a/lib/dbh/dbh.class.php b/lib/dbh/dbh.class.php index 6574c38500..51da790e16 100644 --- a/lib/dbh/dbh.class.php +++ b/lib/dbh/dbh.class.php @@ -437,10 +437,10 @@ class dbh } elseif(stripos($sql, 'CREATE UNIQUE INDEX') === 0 || stripos($sql, 'CREATE INDEX') === 0) { - preg_match('/ON\s+[^.`\s]+\.`([^\s`]+)`/', $sql, $matches); + preg_match('/ON\s+([^.`\s]+\.)?`([^\s`]+)`/', $sql, $matches); - $tableName = str_replace($this->config->prefix, '', $matches); - $sql = preg_replace('/INDEX\ +\`/', 'INDEX `' . strtolower($tableName[1]) . '_', $sql); + $tableName = isset($matches[2]) ? str_replace($this->config->prefix, '', $matches[2]) : ''; + $sql = preg_replace('/INDEX\ +\`/', 'INDEX `' . strtolower($tableName) . '_', $sql); } case 'ALTER': $sql = $this->formatField($sql);