diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index 3dde8f82..3b1025d2 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -343,11 +343,11 @@ WHERE o.schema_id = SCHEMA_ID(" . q(get_schema()) . ") AND o.type IN ('S', 'U', } $return = array(); // sp_statistics doesn't return information about primary key - foreach (get_rows("SELECT indexes.name, key_ordinal, is_unique, is_primary_key, columns.name AS column_name -FROM sys.indexes -INNER JOIN sys.index_columns ON indexes.object_id = index_columns.object_id AND indexes.index_id = index_columns.index_id -INNER JOIN sys.columns ON index_columns.object_id = columns.object_id AND index_columns.column_id = columns.column_id -WHERE OBJECT_NAME(indexes.object_id) = " . q($table) + foreach (get_rows("SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name +FROM sys.indexes i +INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id +INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id +WHERE OBJECT_NAME(i.object_id) = " . q($table) , $connection2) as $row) { $return[$row["name"]]["type"] = ($row["is_primary_key"] ? "PRIMARY" : ($row["is_unique"] ? "UNIQUE" : "INDEX")); $return[$row["name"]]["lengths"] = array();