From 718f9d37914a6aa30f92ab272619851eb1a0e7a2 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Wed, 7 Feb 2018 16:43:21 +0100 Subject: [PATCH] SQLite: Support ` in PRIMARY KEY --- adminer/drivers/sqlite.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 45721726..af4f2beb 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -337,9 +337,9 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) { } $return = array(); $sql = $connection2->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = " . q($table)); - if (preg_match('~\bPRIMARY\s+KEY\s*\((([^)"]+|"[^"]*")++)~i', $sql, $match)) { + if (preg_match('~\bPRIMARY\s+KEY\s*\((([^)"]+|"[^"]*"|`[^`]*`)++)~i', $sql, $match)) { $return[""] = array("type" => "PRIMARY", "columns" => array(), "lengths" => array(), "descs" => array()); - preg_match_all('~((("[^"]*+")+)|(\S+))(\s+(ASC|DESC))?(,\s*|$)~i', $match[1], $matches, PREG_SET_ORDER); + preg_match_all('~((("[^"]*+")+|(?:`[^`]*+`)+)|(\S+))(\s+(ASC|DESC))?(,\s*|$)~i', $match[1], $matches, PREG_SET_ORDER); foreach ($matches as $match) { $return[""]["columns"][] = idf_unescape($match[2]) . $match[4]; $return[""]["descs"][] = (preg_match('~DESC~i', $match[5]) ? '1' : null);