public List<String> getColumnDefaultValues(Connection conn,String tableName) throws SQLException{
List<String> colDefVal = new ArrayList<>();
ResultSet rsColumns = null;
DatabaseMetaData meta = conn.getMetaData();
rsColumns = meta.getColumns(null, null, tableName, null);
while (rsColumns.next()) {
colDefVal.add(rsColumns.getString("COLUMN_DEF"));
}
return colDefVal;
}
I'm connecting to MySQL using JDBC. The following function returns a list containing the default values for all columns in a specified table. It's returning the correct default values e.g. "abc". But it returns null for these both cases: in case a default value is set to NULL or in case a default was not set on a column at all.
How can I distinguish between a column having a default NULL constraint and a column with no default constraint?