2017-02-14 6 views
0

У меня есть следующий SQL заявление:Выберите scope_identity не будет работать на реальном сервере, а не на локальной базе данных

insert into [Order](UserId,MembershipType,PaymentAmt,PaymentStatus,StartDate,EndDate,Status)output INSERTED.OrderId values('18','Yearly','9.99','','2017-02-14 15:13:22','2018-02-14 15:13:22','1');Select Scope_Identity() 

Что будет вставлять данные в моей таблице dbo.Order в моем Microsoft SQL Server 2014 базы данных локально на мой ПК.

Но когда я запускаю этот запрос на живом 3-участник веб-сервере (с идентичной таблицей базы данных), я получаю следующее сообщение об ошибке:

exception=Cannot insert the value NULL into column 'OrderId', table 'db1128212_MYDATABASE.dbo.Order'; column does not allow nulls. INSERT fails. 

Почему это?

+2

Даже если вы говорите, что идентично, это, кажется, не имеет '' столбец IDENTITY' OrderId' –

ответ

0

Установите столбец OrderId в удаленной таблице на идентификатор/автоинкремент.

Auto increment primary key in SQL Server Management Studio 2012

+0

Если это тождество-столбец является автоматическим приращением –

+0

Я не верю, что его первичное ключ установлен в идентификатор, см. отредактированный ответ. – TrevorBrooks