2016-08-03 12 views
0

まず最初に、このオンラインエディタ(そのエディタにはChrome、Safari、Operaなどのブラウザが必要です)を使用しています:http://www.w3schools.com/sql/trysql.asp?filename=trysql_deleteだから、おそらくエディタのバグですが、実際のデータベースを使用しているようです。とにかく自動インクリメントフィールドが正しく機能しないのはなぜですか?

、私はエディタでテーブルをこのように作成します。

CREATE TABLE Persons 
(
ID int IDENTITY(1,1) PRIMARY KEY, 
LastName varchar(255) NOT NULL, 
FirstName varchar(255), 
Address varchar(255), 
City varchar(255) 
) 

その後、私はのようなもので、それを挿入しよう:

INSERT INTO Persons (FirstName,LastName) 
VALUES ('Lars','Monsen') 

そして、それは姓と姓の値を挿入しませんIDにはNULLが挿入されるため、IDフィールドがPRIMARY KEYとして誤動作することさえあります。

IDENTITY(1,1)を削除した後、IDフィールドがプライマリキーフィールドを操作した場合に問題がIDであることを確認しました。

私には何か不足しているのは何ですか、それともバグですか?

ご協力いただきありがとうございます。

+0

コードは正常に動作するはずです。 –

答えて

2

はい、間違いなくバグです。私はそれをテストしました。

+0

kcungありがとうございます。 – user2638180

+0

もっと興味深いことに、それはすでに存在するデータベースであるCustomersデータベースにとってうまく機能します。したがって、このクエリ 'insert into Customers(CustomerName)values( 'rbt')'は、identityを1ずつインクリメントし、他のすべてのフィールドがnullに設定された新しいレコードの次の主キー値を作成します。 – RBT

関連する問題