0

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

我正在尝试像这样在数据库中插入新行:

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

并得到一个例外:

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

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

4

4 回答 4

3

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

于 2012-11-14T10:57:24.573 回答
0

不确定 Access,但 MySQL 语法是:

INSERT INTO MyTable (Id, Name, Age, Class) VALUES (NULL, @name, @age, @class);
于 2012-11-14T10:47:27.387 回答
0

试试这个

INSERT INTO MyTable (id,Name, Age, Class)
 VALUES ((select max(id)+1 from MyTable),@name, @age, @class)
于 2012-11-14T10:47:58.517 回答
0

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

要不然

INSERT INTO MyTable (id,Name, Age, Class)
select max(id)+1,@name, @age, @class FROM MyTable 
于 2012-11-14T11:05:34.640 回答