【问题标题】:How do you create a foreign key relationship in a SQL Server CE (Compact Edition) Database?如何在 SQL Server CE(精简版)数据库中创建外键关系?
【发布时间】:2023-03-09 08:30:01
【问题描述】:

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

【问题讨论】:

    标签: database visual-studio sql-server-ce visual-studio-2005


    【解决方案1】:

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

    【讨论】:

    • 当我遇到这个问题时,我相信我使用的是 VS 2005。很高兴知道您现在可以通过 VS 2008 中的 UI 来实现!
    【解决方案2】:

    Walkthrough: Creating a SQL Server Compact 3.5 Database

    在上一个过程中创建的表之间创建关系

    1. 在服务器资源管理器/数据库资源管理器中,展开表。
    2. 右键单击订单表,然后单击表属性。
    3. 点击添加关系。
    4. 在关系名称框中键入 FK_Orders_Customers。
    5. 在外键表列列表中选择 CustomerID。
    6. 点击添加列。
    7. 点击添加关系。
    8. 单击“确定”完成该过程并在 数据库。
    9. 再次单击“确定”关闭“表属性”对话框。

    【讨论】:

      【解决方案3】:

      我知道自从第一次提出这个问题以来已经“很长时间”了。以防万一,如果它对某人有帮助,

      MS 通过 SQL Server Compact Tool Box (https://sqlcetoolbox.codeplex.com/) 很好地支持添加关系。只需安装它,然后您就可以选择使用服务器资源管理器窗口连接到紧凑型数据库。右键单击主表,选择“表属性”。您应该有以下窗口,其中包含允许您添加关系的“添加关系”选项卡。

      【讨论】:

        【解决方案4】:
        create table employee
        (
           empid int,
           empname varchar(40),
           designation varchar(30),
           hiredate datetime, 
           Bsalary int,
           depno constraint emp_m foreign key references department(depno)
        )
        

        我们应该有一个主键来创建两个或多个表之间的外键或关系。

        【讨论】:

          【解决方案5】:

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

          ALTER TABLE Orders
          ADD CONSTRAINT FK_Customer_Order
          FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
          

          如果您正在进行 CE 开发,我会推荐这个常见问题解答:

          编辑:在 Visual Studio 2008 中,现在可以通过右键单击您的表格在 GUI 中完成。

          【讨论】:

          • 我相信您缺少 CONSTRAINT 关键字。至少在 SQL Server CE 3.5 中... ALTER TABLE Orders ADD CONSTRAINT FK_Customer_Order FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)
          【解决方案6】:

          艾伦说有设计师的支持是正确的。当他暗示你不能选择外键表时,Rhywun 是不正确的。他的意思是,在 UI 中,外键表下拉菜单是灰色的——这意味着他没有右键单击正确的表来添加外键。

          总而言之,右键单击外键表,然后通过“表属性”>“添加关系”选项选择相关的主键表。

          我已经做过很多次了,效果很好。

          【讨论】:

            【解决方案7】:

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

            ALTER TABLE tblAlpha
            ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
            tblGamma(GammaID)
            ON UPDATE CASCADE
            

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

            SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
            

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-07-13
              • 2013-03-01
              • 1970-01-01
              • 2010-09-13
              • 2010-09-08
              相关资源
              最近更新 更多