Проверьте, существует ли таблица [копируют]

Этот вопрос уже имеет ответ здесь:

У меня есть настольное приложение с базой данных, встроенной в него. Когда я выполняю свою программу, я должен проверить, что определенная таблица существует, или создайте ее если нет.

Учитывая названный объект Соединения ведут для моей базы данных, как я мог проверить это?

81
задан Dmitry 31 May 2010 в 10:37
поделиться

2 ответа

Вы можете использовать доступные метаданные:

  DatabaseMetaData meta = con.getMetaData();
  ResultSet res = meta.getTables(null, null, "My_Table_Name", 
     new String[] {"TABLE"});
  while (res.next()) {
     System.out.println(
        "   "+res.getString("TABLE_CAT") 
       + ", "+res.getString("TABLE_SCHEM")
       + ", "+res.getString("TABLE_NAME")
       + ", "+res.getString("TABLE_TYPE")
       + ", "+res.getString("REMARKS")); 
  }

Подробнее см. здесь . Также обратите внимание на предостережения в JavaDoc .

65
ответ дан 24 November 2019 в 09:31
поделиться
DatabaseMetaData dbm = con.getMetaData();
// check if "employee" table is there
ResultSet tables = dbm.getTables(null, null, "employee", null);
if (tables.next()) {
  // Table exists
}
else {
  // Table does not exist
}
119
ответ дан 24 November 2019 в 09:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: