Java 异常意外标记:SMALLINT;自动递增主键时
下面是我的一段代码。但当我执行时,会生成以下异常。 net.ucanaccess.jdbc.UcanaccessSQLException:意外标记:SMALLINTJava 异常意外标记:SMALLINT;自动递增主键时,java,sql,ms-access,ucanaccess,Java,Sql,Ms Access,Ucanaccess,下面是我的一段代码。但当我执行时,会生成以下异常。 net.ucanaccess.jdbc.UcanaccessSQLException:意外标记:SMALLINT String sql= "CREATE TABLE "+emailId.getText()+"Inbox (id integer PRIMARY KEY AUTOINCREMENT,fromId varchar(50), InMsgs varchar(200))"; Class.forName("net.ucanacce
String sql= "CREATE TABLE "+emailId.getText()+"Inbox (id integer PRIMARY KEY AUTOINCREMENT,fromId varchar(50), InMsgs varchar(200))";
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
con=DriverManager.getConnection("jdbc:ucanaccess://path/Email.accdb");
st=con.createStatement();
con.setAutoCommit(false);
check2=st.executeUpdate(sql);
我正在使用MSAccess数据库,即带有UCanAccess 2.0.9.4的netbeans中的JavaSE8。
问题是什么您的查询应该是这样的
CREATE TABLE "+emailId.getText()+"Inbox
(id AUTOINCREMENT PRIMARY KEY ,
fromId varchar(50),
InMsgs varchar(200))
已指定自动增量,因此不需要“整数”。另外,
Primary Key
关键字应位于数据类型之后。如果执行id AUTOINCREMENT
?而不使用整数,该怎么办@shmoseli如果我使用id主键自动递增
,那么我会得到意外标记:Primary
作为异常@shmoselb,但这不是我说的。没有整数意味着什么@shmoselIt创建表。但当我试图打开它时,我得到了一个错误:“保留错误(-5001);没有关于此错误的消息”@Ticktick您是否尝试了来自msaccess的相同查询?只需尝试并检查结果。。同时发布您尝试的完整查询。@Ticktick创建表名中的任何空格?正在使用哪个版本的msaccess?@Ticktick尝试下载最新的UcanAccess