【问题标题】:How to get DEFAULT NULL using JDBC?如何使用 JDBC 获取 DEFAULT NULL?
【发布时间】: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 的应用程序。这就是为什么我需要获取有关表格列的数据。

标签: java mysql jdbc


【解决方案1】:

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

据此answerMysql 不区分这些列定义:

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

【讨论】:

    猜你喜欢
    • 2021-09-12
    • 2015-02-08
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2016-04-01
    • 2013-11-02
    • 2015-08-12
    • 2018-11-09
    相关资源
    最近更新 更多