diff --git a/dblayeroo.php b/dblayeroo.php index 02b2ff9..19a3112 100644 --- a/dblayeroo.php +++ b/dblayeroo.php @@ -723,8 +723,8 @@ class dblayeroo } } ksort ($unique); - $unique[] = $primary; - $unique = array_unique ($unique); + if (! in_array ($primary, $unique)) + $unique[] = $primary; try { @@ -827,8 +827,8 @@ class dblayeroo } } $unique = array_values ($unique); - $unique[] = $primary; - $unique = array_unique ($unique); + if (! in_array ($primary, $unique)) + $unique[] = $primary; $st = self::$instance[$this->dsn]->prepare (" SELECT UPDATE_RULE,DELETE_RULE,COLUMN_NAME, kColUsage.REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME @@ -939,14 +939,14 @@ class dblayeroo array ($unique[$col["constraint_name"]]); $unique[$col["constraint_name"]][] = $col["column_name"]; } - else + elseif (! in_array ($col["column_name"], $unique)) { $unique[$col["constraint_name"]] = $col["column_name"]; } } $unique = array_values ($unique); - $unique[] = $primary; - $unique = array_unique ($unique); + if (! in_array ($primary, $unique)) + $unique[] = $primary; $st = self::$instance[$this->dsn]->prepare (" SELECT kColUsage1.column_name COLUMN_NAME, kColUsage2.table_name REFERENCED_TABLE_NAME,