有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用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。以下函数返回一个列表,其中包含指定表中所有列的默认值。它将返回正确的默认值,例如“abc”。但对于这两种情况,它都返回null:如果默认值设置为null,或者如果一个列上根本没有设置默认值
如何区分具有默认空约束的列和没有默认约束的列


共 (1) 个答案

  1. # 1 楼答案

    JDBC不能提供数据库本身没有的任何信息

    根据这一点answerMysql不区分这些列定义:

    columnname type
    columnname type NULL
    columnname type DEFAULT NULL
    columnname type NULL DEFAULT NULL