diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 0ff3cae5..e395e4de 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -603,7 +603,7 @@ if (!defined('Adminer\DRIVER')) { preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~', $type, $match_type); $default = $row["COLUMN_DEFAULT"]; if ($default != "") { - $is_text = preg_match('~text~', $match_type[1]); + $is_text = preg_match('~text|json~', $match_type[1]); if (!$maria && $is_text) { // default value a'b of text column is stored as _utf8mb4\'a\\\'b\' in MySQL $default = preg_replace("~^(_\w+)?('.*')$~", '\2', stripslashes($default)); diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php index 351868ae..b1a9993a 100644 --- a/adminer/include/editing.inc.php +++ b/adminer/include/editing.inc.php @@ -314,7 +314,7 @@ function default_value($field) { return ($default === null ? "" : (in_array($generated, $driver->generated) ? (JUSH == "mssql" ? " AS ($default)" . ($generated == "VIRTUAL" ? "" : " $generated") . "" : " GENERATED ALWAYS AS ($default) $generated") : " DEFAULT " . (!preg_match('~^GENERATED ~i', $default) && (preg_match('~char|binary|text|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default)) - ? (JUSH == "sql" && preg_match('~text~', $field["type"]) ? "(" . q($default) . ")" : q($default)) // MySQL requires () around default value of text column + ? (JUSH == "sql" && preg_match('~text|json~', $field["type"]) ? "(" . q($default) . ")" : q($default)) // MySQL requires () around default value of text column : str_ireplace("current_timestamp()", "CURRENT_TIMESTAMP", (JUSH == "sqlite" ? "($default)" : $default)) ) )); diff --git a/adminer/select.inc.php b/adminer/select.inc.php index 8631c655..32688b24 100644 --- a/adminer/select.inc.php +++ b/adminer/select.inc.php @@ -452,7 +452,7 @@ if (!$columns && support("table")) { $id = h("val[$unique_idf][" . bracket_escape($key) . "]"); $value = $_POST["val"][$unique_idf][bracket_escape($key)]; $editable = !is_array($row[$key]) && is_utf8($val) && $rows[$n][$key] == $row[$key] && !$functions[$key] && !$field["generated"]; - $text = preg_match('~text|lob~', $field["type"]); + $text = preg_match('~text|json|lob~', $field["type"]); echo "