]> git.joonet.de Git - adminer.git/commitdiff
MS SQL PDO: Display last insert ID
authorJakub Vrana <jakub@vrana.cz>
Mon, 24 Mar 2025 13:25:38 +0000 (14:25 +0100)
committerJakub Vrana <jakub@vrana.cz>
Mon, 24 Mar 2025 13:25:38 +0000 (14:25 +0100)
CHANGELOG.md
adminer/drivers/mssql.inc.php

index f7fc77c2ecdb37b9264c9df67f7407397e1bd9e7..cb43c6ceb2e9c0beff9472b7005b88e93e028174 100644 (file)
@@ -10,6 +10,7 @@
 - PostgreSQL 11: Support PROCEDURE
 - SQLite PDO: Display results in SQL query
 - MS SQL: Fix collation issues when retrieving default values
+- MS SQL PDO: Display last insert ID
 - CSS: Sticky table headers (bug #918)
 - CSS: Allow more custom styles with dark mode (bug #925)
 - CSS: Increase maximum width of string edit (bug #930)
index c26c323e6e506f3db956647d6a14b11c93f521ef..4266de452cc0071dc5a2f24d57269e70c819167e 100644 (file)
@@ -156,12 +156,25 @@ if (isset($_GET["mssql"])) {
                        }
                }
 
+               function last_id($result) {
+                       return get_val("SELECT SCOPE_IDENTITY()"); // @@IDENTITY can return trigger INSERT
+               }
+
        } else {
                class MssqlDb extends PdoDb {
                        function select_db($database) {
                                // database selection is separated from the connection so dbname in DSN can't be used
                                return $this->query(use_sql($database));
                        }
+
+                       function lastInsertId() {
+                               return $this->pdo->lastInsertId();
+                       }
+               }
+
+               function last_id($result) {
+                       global $connection;
+                       return $connection->lastInsertId();
                }
 
                if (extension_loaded("pdo_sqlsrv")) {
@@ -543,10 +556,6 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table), $connection2) as $row
                ;
        }
 
-       function last_id($result) {
-               return get_val("SELECT SCOPE_IDENTITY()"); // @@IDENTITY can return trigger INSERT
-       }
-
        function explain($connection, $query) {
                $connection->query("SET SHOWPLAN_ALL ON");
                $return = $connection->query($query);