如何使用JDBC获取DEFAULT NULL?

时间:2016-02-01 20:28:15

标签: java mysql jdbc

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;
}

我使用JDBC连接到MySQL。以下函数返回一个列表,其中包含指定表中所有列的默认值。它会返回正确的默认值,例如&#34; ABC&#34 ;.但是对于这两种情况它都返回null:如果默认值设置为NULL或者根本没有在列上设置默认值。
如何区分具有默认NULL约束的列和没有默认约束的列?

1 个答案:

答案 0 :(得分:0)

JDBC无法为您提供数据库本身无法提供的任何信息。

根据这个answer,Mysql不区分这些列定义:

git checkout