From 4ee2e686d76f0ea1e4c970a44685f20996b8b576 Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Fri, 11 Sep 2009 19:12:33 +0000 Subject: [PATCH] Add foreign key even if a field not changed git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1095 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- adminer/create.inc.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/adminer/create.inc.php b/adminer/create.inc.php index c829475c..2435afea 100644 --- a/adminer/create.inc.php +++ b/adminer/create.inc.php @@ -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"]) . "),"; }