]> git.joonet.de Git - adminer.git/commitdiff
Add foreign key even if a field not changed
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 11 Sep 2009 19:12:33 +0000 (19:12 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 11 Sep 2009 19:12:33 +0000 (19:12 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1095 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/create.inc.php

index c829475c93c0153d7388ea097a3862b40757ac22..2435afead7ddf6fa6860dc28cb18a7b553e6ca84 100644 (file)
@@ -36,14 +36,16 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"]
        foreach ($_POST["fields"] as $key => $field) {
                $type_field = (isset($types[$field["type"]]) ? $field : $referencable_primary[$foreign_keys[$field["type"]]]);
                if (strlen($field["field"])) {
-                       $process_field = process_field($field, $type_field);
-                       $auto_increment = ($key == $_POST["auto_increment_col"]);
-                       if ($type_field && ($process_field != process_field($orig_field, $orig_field) || $orig_field["auto_increment"] != $auto_increment)) {
-                               $fields .= "\n" . (strlen($TABLE) ? (strlen($field["orig"]) ? "CHANGE " . idf_escape($field["orig"]) : "ADD") : " ")
-                                       . " $process_field"
-                                       . ($auto_increment ? " AUTO_INCREMENT$auto_increment_index" : "")
-                                       . (strlen($TABLE) ? " $after" : "") . ","
-                               ;
+                       if ($type_field) {
+                               $process_field = process_field($field, $type_field);
+                               $auto_increment = ($key == $_POST["auto_increment_col"]);
+                               if ($process_field != process_field($orig_field, $orig_field) || $orig_field["auto_increment"] != $auto_increment) {
+                                       $fields .= "\n" . (strlen($TABLE) ? (strlen($field["orig"]) ? "CHANGE " . idf_escape($field["orig"]) : "ADD") : " ")
+                                               . " $process_field"
+                                               . ($auto_increment ? " AUTO_INCREMENT$auto_increment_index" : "")
+                                               . (strlen($TABLE) ? " $after" : "") . ","
+                                       ;
+                               }
                                if (!isset($types[$field["type"]])) {
                                        $fields .= (strlen($TABLE) ? " ADD" : "") . " FOREIGN KEY (" . idf_escape($field["field"]) . ") REFERENCES " . idf_escape($foreign_keys[$field["type"]]) . " (" . idf_escape($type_field["field"]) . "),";
                                }