- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请看下面的代码
package normal;
//This class if s for checking the database. If the database doesn't exists, this class will create one
import java.sql.*;
public class DatabaseCheck
{
private Connection con;
public DatabaseCheck()
{
createConnection();
try
{
Statement st = con.createStatement();
st.executeQuery("select * from PhoneData");
}
catch(Exception e)
{
System.out.println(e.getLocalizedMessage());
if(e.getLocalizedMessage().equals("Schema 'SA' does not exist"))
{
try
{
PreparedStatement ps = con.prepareStatement("create table PhoneData(ids int identity constraint pkId primary key,names varchar(20),mobileNumber1 varchar(20),mobileNumber2 varchar(20),landNumber1 varchar(20),landNumber2 varchar(20),address varchar(100),category varchar(20),nickName varchar(20),email varchar(20),middleName varchar(20),lastName varchar(20),city varchar(20),country varchar(20))");
ps.execute();
PreparedStatement ps2 = con.prepareStatement("create table Emails(accountType varchar(10) constraint pk_user primary key,userName varchar(50) ,passwords varchar(50))");
ps2.execute();
}
catch(Exception e2)
{
e2.printStackTrace();
}
}
}
finally
{
closeConnection();
}
}
public void createConnection()
{
try
{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
con = DriverManager.getConnection("jdbc:derby:PhoneBook;create=true","sa","sasasa");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void closeConnection()
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
此类能够以编程方式在嵌入式 apache derby 数据库中创建表。但是,它给出了以下错误
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "identity" at line 1, column 32.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
at normal.DatabaseCheck.<init>(DatabaseCheck.java:27)
at normal.MyPhoneBookApp.main(MyPhoneBookApp.java:25)
Caused by: java.sql.SQLException: Syntax error: Encountered "identity" at line 1, column 32.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
... 15 more
Caused by: ERROR 42X01: Syntax error: Encountered "identity" at line 1, column 32.
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
... 9 more
当我从表创建代码中删除“identity”关键字时,效果很好。但是,自动生成 ID 是强制性的。请帮忙!
最佳答案
Derby 没有 identity
列类型(如文档 in the manual 所示)。您需要定义一个 generated column 。对于生成定义,Derby 确实知道 identity
属性,但这不是数据类型。
因此 ids
的列定义应该是
ids integer generated always as identity constraint pkId primary key
请注意,您还可以使用默认生成
而不是始终
。然后,只有在插入期间未指定该列的值时才会生成值。 始终生成
将覆盖您提供的任何值。
关于java - Apache Derby : SQLSyntaxErrorException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12732820/
Select distinct APP.bca_cart.InventoryCode,APP.bca_cart.InventoryID,APP.bca_cart.CartID,APP.bca_cart
有没有办法在 derby 数据库中像 mysql 那样逐列添加? 最佳答案 我不相信。列排序并不是真正的标准 SQL 功能。编写良好的数据库应用程序不应该关心列排序。您可以通过命名 SQL 语句中的列
我已经在 Glassfish/Netbeans 中设置了 Derby DB 密码。我还选中了记住我复选框。 现在我不能再更改密码了。 最佳答案 要更改密码,您只需执行: call SYSCS_UTIL
我在 google 上搜索了一些关于 apache derby 中不区分大小写的搜索。所有谷歌搜索结果都非常旧(2007 年最新)。我发现在不丢失索引的情况下搜索不区分大小写是不可能的(“LOWER”
如何做到这一点? SYSCOLUMNS 系统表只有表的列。 SYSCHECKS 有一个 REFERENCEDCOLUMNS 对象。有什么办法可以得到这个。 我知道 JDBC getPrimaryKey
我已经使用derby db开发了一个应用程序。我已经在系统中创建了数据库。我需要将应用程序与数据库一起交付。我已删除表中的所有数据。仅保留表(数据为空的结构)。因此,如果我将db文件(所有这些文件,l
Derby没有rownum功能吗? 在oracle中,我可以选择前3行,如下所示。 select * from a where rownum < 3 在here中,他们建议如下。但这很乏味。 SELE
我正在使用嵌入式 Java 数据库来保存公交时刻表。当新计划可用时,我会自动将新计划加载到数据库表中,然后从数据库中删除旧计划。这会自动发生,无需用户干预。 我注意到数据库会随着时间的推移而变慢。我有
假设我已连接到 derby 服务器。我需要知道哪些数据库可供我连接。有命令可以这样做吗? 最佳答案 没有这样的命令。 Derby 不维护所有已知数据库的整体注册表或目录。 每个数据库都是独立的,可以通
我正在关注 Derby.js getting started guide .我跑了 $ npm install -g derby 一切都成功了,但是当我输入 $ derby new app-name
我正在寻找如何检查数据库是否存在的信息——从 Java 代码——在 hsqldb 和 Apache derby 中。在Mysql中很容易,因为我可以查询系统表--INFORMATION_SCHEMA.
我在我的 Mac 上使用 Netbeans 7.1 创建了一个 JavaDB(Derby) 数据库,我正在搜索一个免费软件应用程序,我可以使用它来查看包含所有表及其连接的完整数据库模式的图片。有任何想
我想在网络服务器模式下使用 Derby,并按照他们网站上的说明进行操作。 Derby 开局: /opt/glassfish/4.0/javadb/bin/NetworkServerControl st
我有一个使用 derby 和 JPA 的项目。我可以在我的应用程序中正常连接到数据库。我想使用 SQL Developer 连接到嵌入式数据库,以便我可以轻松浏览/查询数据库中的数据。 这是我正在使用
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 8年前关闭。 Improve this questi
有没有办法在 ij 中“漂亮地打印”查询结果?由于在查询结果中到处乱扔列,因此默认结果看起来非常难以理解。 在 PostgreSQL 中,有/pset 命令来控制 pgsql 命令的结果,我正在为 D
当我在 WildFly 上正常定义 Derby 数据源时,db.lck 文件未被删除,这表明每次关闭 WildFly 时数据库都没有正确关闭。因为嵌入式 Derby 需要一个特殊的关闭过程,该过程正在
我在 Google 上没有找到任何相关信息,但我认为这一定是可能的。 我的 Hibernate 项目遇到了一个严重的问题: 我有两个模块,一个主模块和一个工具模块。他们应该使用相同的数据库(嵌入式 D
我正在使用 Spring 构建一个 JavaEE 应用程序,我正在尝试将它与 DerbyEmbeddedDriver 连接起来。该应用程序将在 SAP Hana Cloud Platform 试用版上
我正在使用 Derby DB作为我的 Qpid broker 的存储.当作为嵌入式数据库运行时,试图找出 Derby 存储数据文件的位置。 任何人都知道文件所在的位置或如何设置要使用的目录? 最佳答案
我是一名优秀的程序员,十分优秀!