C# SQLite自动增量问题
我在C#中创建了一个SQLite数据库,并使用该查询创建了一个表C# SQLite自动增量问题,c#,sql,database,sqlite,C#,Sql,Database,Sqlite,我在C#中创建了一个SQLite数据库,并使用该查询创建了一个表 string q = "create table mains ( id int IDENTITY, desc varchar(20), PRIMARY KEY(id) )"; ExecuteQuery(q); 我试着添加一张这样的唱片: string txtSQLQuery = "insert into mains (desc) values ('" + textBox1.Text + "')"; ExecuteQuery(
string q = "create table mains ( id int IDENTITY, desc varchar(20), PRIMARY KEY(id) )";
ExecuteQuery(q);
我试着添加一张这样的唱片:
string txtSQLQuery = "insert into mains (desc) values ('" + textBox1.Text + "')";
ExecuteQuery(txtSQLQuery);
我只是添加了一个desc而不是ID,我想它应该自动增加ID字段,但它没有。
相反,每次我添加新记录时,它都会添加desc和ID字段
编辑:
我尝试使用:
id int PRIMARY KEY AUTOINCREMENT
但有一个错误:
SQLite.SQLiteException: near "AUTOINCREMENT":
编辑2:
我在加载记录时得到:
ID字段中根本没有数字。试试看
create table mains (id INTEGER PRIMARY KEY, desc varchar(20))
声明为整数主键的列将自动递增
编辑
作为替代方法,请尝试执行
string txtSQLQuery = "insert into mains (id, desc) values (NULL, '" + textBox1.Text + "')";
试一试
声明为整数主键的列将自动递增
编辑
作为替代方法,请尝试执行
string txtSQLQuery = "insert into mains (id, desc) values (NULL, '" + textBox1.Text + "')";
标识不是SQLite语言的一部分。改为使用自动增量:
create table mains ( id int AUTOINCREMENT, desc varchar(20), PRIMARY KEY(id) )
或
标识不是SQLite语言的一部分。改为使用自动增量:
create table mains ( id int AUTOINCREMENT, desc varchar(20), PRIMARY KEY(id) )
或
它说:SQLite.SQLiteException:near“AUTOINCREMENT”:语法错误我猜AUTOINCREMENT无效?是的,AUTOINCREMENT有效:。在创建新表之前是否删除了旧表?请使用整数而不是
int
。看见另外,VARCHAR(20)对SQLite没有意义,但它将正确映射到文本。它说:SQLite.SQLiteException:靠近“AUTOINCREMENT”:语法错误我猜AUTOINCREMENT无效?是的,AUTOINCREMENT有效:。在创建新表之前是否删除了旧表?请使用整数而不是int
。看见另外,VARCHAR(20)对SQLite来说没有意义,但是它会正确地映射到文本。尝试过了,但是请检查我刚才上传的关于问题的图片。这里还有其他错误。请看是的,它可以工作,必须插入空值,谢谢一个lot。请记住,您必须使用INTEGER
而不是INT
,因为后者将不会自动递增或填充。尝试过了,但请检查我刚才上传的问题图片。这里还有其他错误吗。请参见“是”,它可以工作,必须插入空值,这要感谢lot。请记住,您必须使用INTEGER
而不是INT
,因为后者不会自动递增或填充。