Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Sqlite SQL语句引发带有自动增量的异常_Sqlite_Auto Increment - Fatal编程技术网

Sqlite SQL语句引发带有自动增量的异常

Sqlite SQL语句引发带有自动增量的异常,sqlite,auto-increment,Sqlite,Auto Increment,我试图使用以下语句在sqlite数据库中创建一个表: CREATE TABLE contacts ( _id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL , PRIMARY KEY (_id) ); 它引发以下异常: java.sql.SQLException: near "AUTO_INCREMENT": syntax error at org.sqlite.core.NativeDB.throwex(NativeDB.jav

我试图使用以下语句在sqlite数据库中创建一个表:

CREATE TABLE contacts (
_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL ,
PRIMARY KEY (_id)
);
它引发以下异常:

java.sql.SQLException: near "AUTO_INCREMENT": syntax error
at org.sqlite.core.NativeDB.throwex(NativeDB.java:397)
at org.sqlite.core.NativeDB._exec(Native Method)
at org.sqlite.jdbc3.JDBC3Statement.executeUpdate(JDBC3Statement.java:116)
at de.marcofriedmann.dbtest.DBController.createTables(DBController.java:64)
at de.marcofriedmann.dbtest.Main.main(Main.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
我找不到语法错误。如果我省略了自动增量,一切正常


任何提示?

MS SQL Server使用IDENTITY关键字执行自动增量功能

在上面的示例中,IDENTITY的起始值是1,对于每个新记录,它将增加1

资料来源:


下划线仅用于mySQL。

自动增量中没有下划线谢谢。如果我不在同一列上使用“notnull”,它现在就可以工作了。但当我使用下面的语句“INSERT INTO contacts(姓氏、姓名)value('Friedmann','Marco')”时,id显示为“NULL”。它不应该显示一个INT吗?您可能想将
\u id
列声明为
\u id INTEGER主键
,这将使它成为
rowid
的别名。我也试过了。但是id仍然显示为“NULL”。声明是否与最后一行中的主键(_id)不同?