如何在SQL Server CE(精简版)数据库中创建外键关系?

Rya*_*pat 48 database visual-studio-2005 sql-server-ce visual-studio

Visual Studio 2005不提供用于在SQL Server CE数据库中创建表之间关系的界面(我使用的是3.0版),据我所知,您无法使用Management Studio打开Compact Edition数据库.有任何想法吗?

Esp*_*spo 70

不幸的是,目前没有设计人员支持(与SQL Server 2005不同)在SQL Server CE中构建表之间的关系.要建立关系,您需要使用SQL命令,例如:

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
Run Code Online (Sandbox Code Playgroud)

如果您正在进行CE开发,我会推荐这个FAQ:

编辑:在Visual Studio 2008中,现在可以通过右键单击表格在GUI中执行此操作.

  • 我相信你缺少CONSTRAINT关键字.至少在SQL Server CE 3.5中... ALTER TABLE命令ADD CONSTRAINT FK_Customer_Order FOREIGN KEY(CustomerId)REFERENCES Customers(CustomerId) (2认同)

小智 44

Visual Studio 2008 确实有一个允许您添加FK的设计器.只需右键单击表格...表格属性,然后转到"添加关系"部分.

HTH


Rya*_*pat 7

您需要创建一个查询(在Visual Studio中,右键单击数据库连接 - >新查询)并执行以下SQL:

ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE
Run Code Online (Sandbox Code Playgroud)

要验证是否已创建外键,请执行以下SQL:

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
Run Code Online (Sandbox Code Playgroud)

感谢E Jensen(http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)