0

次の列を持つテーブルを取得しました: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

4 に答える 4

3

ID 列のデータ型を整数ではなくオートナンバーに変更できます。

于 2012-11-14T10:57:24.573 に答える
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 に答える
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 に答える