在H2中,有两种方法可以创建新的内存数据库。在第一个中,您使用CREATE DATABASE .. SQL语句显式创建数据库。另一方面,如果您尝试连接到不存在的数据库,H2将只创建它。我选择了第一种方式,因为如果我没有得到某种错误,我怎么知道创建单个表(只有两列)。
问题是H2不喜欢我正在使用的SQL并标记错误。这个SQL语句:
String sql = "CREATE DATABASE Tickets, " + USER + ", " + PASS;
抛出此异常:
org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "CREATE DATABASE[*] TICKETS, USERNAME, PASSWORD "; expected "OR, FORCE, VIEW, ALIAS, SEQUENCE, USER, TRIGGER, ROLE, SCHEMA, CONSTANT, DOMAIN, TYPE, DATATYPE, AGGREGATE, LINKED, MEMORY, CACHED, LOCAL, GLOBAL, TEMP, TEMPORARY, TABLE, PRIMARY, UNIQUE, HASH, SPATIAL, INDEX"; SQL statement:
关于上面发生了什么的任何想法?或者,您能告诉我如何判断数据库是否已自动创建,以便我可以继续创建表格?
答案 0 :(得分:1)
当您建议您可以通过SQL创建H2数据库时,我不相信您是正确的 - 我认为这是您的基本问题......
只需连接到您的数据库(它是定义所涉及数据库的jdbc URL),如果您没有获得异常,请继续使用它。 (创建你的表等)