From 26d76b2d96bfe0447f6b43c5d8c94cc4e181db39 Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Mon, 9 Mar 2009 15:17:36 +0000 Subject: [PATCH] Allow DEFAULT '' (thanks to pojizdna kocka) git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@564 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- create.inc.php | 2 +- edit.inc.php | 4 ++-- editing.inc.php | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/create.inc.php b/create.inc.php index 5acf780b..da8e103f 100644 --- a/create.inc.php +++ b/create.inc.php @@ -31,7 +31,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"] $fields[] = (!strlen($_GET["create"]) ? "" : (strlen($field["orig"]) ? "CHANGE " . idf_escape($field["orig"]) . " " : "ADD ")) . idf_escape($field["field"]) . process_type($field) . ($field["null"] ? " NULL" : " NOT NULL") // NULL for timestamp - . (strlen($_GET["create"]) && strlen($field["orig"]) && strlen($orig_fields[$field["orig"]]["default"]) && $field["type"] != "timestamp" ? " DEFAULT '" . $mysql->escape_string($orig_fields[$field["orig"]]["default"]) . "'" : "") + . (strlen($_GET["create"]) && strlen($field["orig"]) && isset($orig_fields[$field["orig"]]["default"]) && $field["type"] != "timestamp" ? " DEFAULT '" . $mysql->escape_string($orig_fields[$field["orig"]]["default"]) . "'" : "") //! timestamp . ($key == $_POST["auto_increment_col"] ? " AUTO_INCREMENT$auto_increment_index" : "") . " COMMENT '" . $mysql->escape_string($field["comment"]) . "'" . (strlen($_GET["create"]) ? " $after" : "") diff --git a/edit.inc.php b/edit.inc.php index bf6c26a6..7e4b533a 100644 --- a/edit.inc.php +++ b/edit.inc.php @@ -20,10 +20,10 @@ if ($_POST && !$error && !isset($_GET["select"])) { $set[] = idf_escape($name) . " = " . ($val !== false ? $val : "''"); } } elseif ($val !== false) { - if ($field["type"] == "timestamp") { + if ($field["type"] == "timestamp" && $val != "NULL") { //! doesn't allow DEFAULT NULL and no ON UPDATE $set[] = " MODIFY " . idf_escape($name) . " timestamp" . ($field["null"] ? " NULL" : "") . " DEFAULT $val" . ($_POST["on_update"][bracket_escape($name)] ? " ON UPDATE CURRENT_TIMESTAMP" : ""); } else { - $set[] = " ALTER " . idf_escape($name) . ($val == ($field["null"] || $field["type"] == "enum" ? "NULL" : "''") ? " DROP DEFAULT" : " SET DEFAULT $val"); + $set[] = " ALTER " . idf_escape($name) . ($val == "NULL" ? " DROP DEFAULT" : " SET DEFAULT $val"); } } } diff --git a/editing.inc.php b/editing.inc.php index ac37f355..71373852 100644 --- a/editing.inc.php +++ b/editing.inc.php @@ -19,7 +19,7 @@ function input($name, $field, $value) { echo ' '; } } else { - $first = $field["null"] + isset($_GET["select"]); + $first = ($field["null"] || isset($_GET["default"])) + isset($_GET["select"]); $onchange = ($first ? ' onchange="var f = this.form[\'function[' . addcslashes($name, "\r\n'\\") . ']\']; if (' . $first . ' > f.selectedIndex) f.selectedIndex = ' . $first . ';"' : ''); $options = array(""); if (!isset($_GET["default"])) { @@ -30,7 +30,7 @@ function input($name, $field, $value) { $options = array("", "+", "-"); } } - if ($field["null"]) { + if ($field["null"] || isset($_GET["default"])) { array_unshift($options, "NULL"); } if (count($options) > 1 || isset($_GET["select"])) {