我正在尝试在SQL Server CE 3.5中的一个IDENTITY列表中插入一个值。我尝试了以下内容:
INSERT Target DEFAULT VALUES
INSERT Target (ID) VALUES (DEFAULT)
INSERT Target (ID) VALUES ()
但他们都没有奏效。这是我用来创建表的SQL命令(使用SQL Server Management Studio):
CREATE TABLE Target(
ID int NOT NULL IDENTITY (1, 1) PRIMARY KEY
);
Microsoft帮助网站(http://msdn.microsoft.com/en-us/library/ms174633%28SQL.90%29.aspx)提到DEFAULT值对于标识列无效,但是他们没有提及任何替代方法。
他们提到了uniqueidentifier和ROWGUID的一些内容,但我还是无法让它发挥作用。
我很感激有关如何解决此问题的任何指示或链接到有关sql server CE的有效sql命令的文档。
谢谢
答案 0 :(得分:4)
使用默认值适用于标准版本的SQL上的标识列。我看不出为什么它不适用于CE。
在你的情况下,你会做这样的事情:
Insert Into Target
Default Values
编辑:
此问题看起来特定于SQL CE。
我可以建议的另一件事是在表中添加另一列,例如DateInserted。
Insert Into Target (DateInserted)
Values (getdate())
然后应该插入一个新行,从而生成一个新的ID。
如果您可以更改表格结构,那么您可以改为使用UniqueIdentifier。
Create Table Target
(
IDColumn uniqueidentifier not null
)
Insert Into Target
Values (newId())