【发布时间】:2016-05-10 10:41:23
【问题描述】:
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,或者如果没有在列上设置默认值。
如何区分具有默认 NULL 约束的列和没有默认约束的列?
【问题讨论】:
-
将列的默认值设置为
NULL无论如何都没有真正意义; what are you actually trying to do? -
我正在使用 JDBC 构建一个类似于 PhpMyAdmin 的应用程序。这就是为什么我需要获取有关表格列的数据。