From: Peter Knut Date: Wed, 12 Mar 2025 23:00:23 +0000 (+0100) Subject: MySQL: Fix saving string default value of json field X-Git-Tag: v5.0.5~29 X-Git-Url: https://git.joonet.de/?a=commitdiff_plain;h=db7202fcf0d2944dc7a4f8bc28df0e71791f7552;p=adminer.git MySQL: Fix saving string default value of json field --- diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php index b1a9993a..bf24a0a7 100644 --- a/adminer/include/editing.inc.php +++ b/adminer/include/editing.inc.php @@ -313,7 +313,7 @@ function default_value($field) { $generated = $field["generated"]; 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)) + : " DEFAULT " . (!preg_match('~^GENERATED ~i', $default) && (preg_match('~char|binary|text|json|enum|set~', $field["type"]) || preg_match('~^(?![a-z])~i', $default)) ? (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)) )