Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDBC:仅在首次使用时创建表?_Java_Jdbc - Fatal编程技术网

Java JDBC:仅在首次使用时创建表?

Java JDBC:仅在首次使用时创建表?,java,jdbc,Java,Jdbc,我正在开发一个使用JDBC的JavaUI应用程序。 我假设我正在使用的数据库已经存在。但是,程序引用的表可能不一定存在 因此,仅在第一次使用时,我想检查这些表是否存在,如果不存在,则创建它们。在创建表时说 CREATE TABLE IF NOT EXISTS ...... 有关更多信息,请参阅 CREATE TABLE IF NOT EXISTS Employee (id INT); 这适用于,,请注意,并非所有数据库都实现此功能。顺便说一句,Oracle数据库“sql”不是一个数据库,您提

我正在开发一个使用JDBC的JavaUI应用程序。 我假设我正在使用的数据库已经存在。但是,程序引用的表可能不一定存在


因此,仅在第一次使用时,我想检查这些表是否存在,如果不存在,则创建它们。

在创建表时说

CREATE TABLE IF NOT EXISTS ......
有关更多信息,请参阅

CREATE TABLE IF NOT EXISTS Employee (id INT);

这适用于,,

请注意,并非所有数据库都实现此功能。顺便说一句,Oracle数据库“sql”不是一个数据库,您提供的链接是关于Mckoi sql数据库的,实际上看起来像Oracle MySQL实现指南,请查看URL的根()。Oracle SQL不支持它。Falhim,添加额外的问号并不能增加问题的可信度。Sybase不一定支持它。Oracle不支持()。我甚至不是专家,但这根本不是标准。所以你可以说至少前两个企业数据库不支持。你提供的链接是针对MySQL的,这纯粹是无知。获取connectionMetaData,查询表,创建不存在的表,如果添加了新列,则更改现有的表,或者使用现有的数据库迁移库:我在一个中等复杂的场景中取得了成功,可能也不错。尝试更改表w/100m+行,这些行也有一些索引,即使您的代码都正确,也可能会花费大量时间。如果你的代码中有错误,比如说短号,数据可能会“丢失”。此外,由于非标准SQL(创建/更改表),结果可能会在不同的数据库甚至某个数据库的版本中变得不可预测。这当然不是很令人放心。