preg_match('~^(VIRTUAL|PERSISTENT|STORED)~', $extra, $generated);
preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~', $type, $match_type);
$default = $row["COLUMN_DEFAULT"];
- $is_text = preg_match('~text~', $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));
- }
- if ($maria || $is_text) {
- $default = preg_replace_callback("~^'(.*)'$~", function ($match) {
- return stripslashes(str_replace("''", "'", $match[1]));
- }, $default);
- }
- if (!$maria && preg_match('~binary~', $match_type[1]) && preg_match('~^0x(\w*)$~', $default, $match)) {
- $default = preg_replace_callback('~..~', function ($match) {
- return chr(hexdec($match[0]));
- }, $match[1]);
+ if ($default != "") {
+ $is_text = preg_match('~text~', $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));
+ }
+ if ($maria || $is_text) {
+ $default = ($default == "NULL" ? null : preg_replace_callback("~^'(.*)'$~", function ($match) {
+ return stripslashes(str_replace("''", "'", $match[1]));
+ }, $default));
+ }
+ if (!$maria && preg_match('~binary~', $match_type[1]) && preg_match('~^0x(\w*)$~', $default, $match)) {
+ $default = pack("H*", $match[1]);
+ }
}
$return[$field] = array(
"field" => $field,
"unsigned" => ltrim($match_type[3] . $match_type[4]),
"default" => ($generated
? ($maria ? $generation : stripslashes($generation))
- : ($default != "" || preg_match("~char|set~", $match_type[1]) ? $default : null)
+ : $default
),
"null" => ($row["IS_NULLABLE"] == "YES"),
"auto_increment" => ($extra == "auto_increment"),
Adminer dev:
MySQL: Display default values of binary columns
+MariaDB: Don't display NULL as default value (regression from 5.0.0)
PostgreSQL PDO: Escape bytea values (bug #218)
Adminer 5.0.4 (released 2025-03-11):
MS SQL: Allow altering table in non-default schema (bug #405)
MS SQL: Fix default values (bug #732, bug #733)
MS SQL: Fix length of nvarchar columns
-Editor: PDO: Select value of foreign key in edit (bug #847)
+Editor PDO: Select value of foreign key in edit (bug #847)
Mobile devices: Use device width
Adminer 4.16.0 (released 2025-02-20):