我已經創建了以下表格,並在列ApartmentID上使用了自動增量。我想,一旦我將這個自動增量設置爲101,它會自動增加行插入,但我只是得到一個空值。SQL Server 2012 - 自動增量和空/不爲空
我的創建表代碼是; CREATE TABLE公寓 ( ApartmentID SMALLINT, - AUTOINCREMENT = 101, 租戶SMALLINT NULL默認爲0, 租錢默認爲0, CurrentOccupier SMALLINT NULL, )
因爲我包含在我創建的表自動遞增,我插入如下值: INSERT INTO dbo.Apartments(佔用人,出租,CurrentOccupier) VALUES ( '1', '400', '21'), ( '0', '450', '90'),
的以下是我的結果; ApartmentID租戶租金CurrentOccupier NULL 1 400.00 21 NULL 0 450.00 90
關注的是,ApartmentID柱NULL而非顯示101,102,103等和思考,這是與列屬性空做,我放棄了桌子在下面重新創建它;
CREATE TABLE公寓 ( ApartmentID SMALLINT NOT NULL, - AUTOINCREMENT = 101, 租戶SMALLINT NULL默認0, 租錢默認0, CurrentOccupier SMALLINT NULL, )
結果/消息我得到是 Msg 515,級別16,狀態2,行1 不能將NULL值插入到'ApartmentID'列'Apartment_2.dbo.Apartments'列中;列不會 允許空值。 INSERT失敗。
我想用我創建的第一個表,如果我可以在列ApartmentID中顯示值101,102等,當我運行查詢select * from公寓而不是單詞null。
任何/建議的幫助,將不勝感激。再次,這可能是一個簡單的錯誤,但是新的我不認識我的錯誤。我還包括 - 自動增量的前面,正如我在網上看到的那樣。
感謝 喬西
@馬丁.....謝謝你的。但是我的下一個問題就是,爲什麼身份列工作和自動增量不起作用?他們是不是應該給出同樣的結果? – Josie
@Josie SQL Server不使用'autoincrement'語法。這就是MySQL。它們是不同的產品,使用不同的SQL方言。 –
@Martin ....現在我覺得很愚蠢,但謝謝你爲我澄清。 – Josie