我已经创建了以下表格,并在列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