Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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 异常意外标记:SMALLINT;自动递增主键时_Java_Sql_Ms Access_Ucanaccess - Fatal编程技术网

Java 异常意外标记:SMALLINT;自动递增主键时

Java 异常意外标记: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

下面是我的一段代码。但当我执行时,会生成以下异常。 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.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