如何从mdb的表中检索最后一个主要ID?

时间:2012-11-14 10:43:56

标签: c# .net sql ms-access

我得到了下一栏的表格:Id, Name, Age, Class

我正在尝试在db中插入新行:

INSERT INTO MyTable (Name, Age, Class)
VALUES (@name, @age, @class)

获得一个例外:

"Index or primary key cannot contain a Null value."

问题是如何在不知道下一个主要ID的情况下添加新行,或者可能有办法在另一个查询的帮助下从表中获取此ID?

4 个答案:

答案 0 :(得分:3)

您可以将ID列的数据类型更改为AutoNumber而不是Integer。

答案 1 :(得分:0)

不确定Access,但MySQL语法是:

INSERT INTO MyTable (Id, Name, Age, Class) VALUES (NULL, @name, @age, @class);

答案 2 :(得分:0)

试试这个

INSERT INTO MyTable (id,Name, Age, Class)
 VALUES ((select max(id)+1 from MyTable),@name, @age, @class)

答案 3 :(得分:0)

请在Mytable中将“id”列设为自动编号,然后尝试

或者

INSERT INTO MyTable (id,Name, Age, Class)
select max(id)+1,@name, @age, @class FROM MyTable