Home » Php » php – How to SELECT DEFAULT value of a field

php – How to SELECT DEFAULT value of a field

Posted by: admin July 12, 2020 Leave a comment

Questions:

I can’t seem to find or write a sqlquery that SELECTS the DEFAULT VALUE

(and I don’t think I can generate it in phpmyadmin for me to copy)

I tried to SELECT it as if it was a record but to no avail…

 $defaultValue_find = mysql_query(
         "SELECT $group FROM grouptable WHERE $group='DEFAULT'")  
      or die("Query failed:".mysql_error());
 $defaultValue_fetch = mysql_fetch_row($defaultValue_find);
 $defaultValue = $defaultValue_fetch[0];
 echo $defaultValue;
How to&Answers:
"SELECT $group FROM grouptable WHERE $group=DEFAULT( $group ) "

Or I think better:

"SELECT DEFAULT( $group ) FROM grouptable LIMIT 1 "

Update – correction

As @Jeff Caron pointed, the above will only work if there is at least 1 row in grouptable. If you want the result even if the grouptable has no rows, you can use this:

"SELECT DEFAULT( $group ) 
 FROM (SELECT 1) AS dummy
   LEFT JOIN grouptable 
     ON True
 LIMIT 1 ;"

Answer:

Get the default values of all fields in mytable in the associative array $res:

// MySQL v.5.7+
$res = [];
$sql = "SHOW FULL COLUMNS FROM `mytable`";
foreach ($PDO->query( $sql, PDO::FETCH_ASSOC ) as $row) {
    $res[$row['Field']] = $row['Default'] ;
}
print_r($res);